0
点赞
收藏
分享

微信扫一扫

AcWing 4314 二元组

AbrahamW 2022-03-19 阅读 59
c++

请你计算共有多少个整数三元组 (a,b,c)(a,b,c) 能够同时满足:

  • 1≤a≤b≤c≤n1≤a≤b≤c≤n。
  • a⊕b⊕c=0a⊕b⊕c=0,其中 ⊕⊕ 表示按位异或。
  • (a,b,c)(a,b,c) 可以构成一个非退化三角形(即任意两边之和均大于第三边)。

输入格式

一个整数 n。

输出格式

一个整数,表示满足条件的三元组的个数。

#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
using namespace std;
int ax(int &a,int &b,int &c)
{
    return a^b^c;
}

int main()
{
    int a=0;
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=i;j<=n;j++)
        {
            for(int k=j;k<=n;k++)
            {
                int m=ax(i,j,k);
                if(m==0)
                {
                    if(i+j>k)
                    {
                        a++;
                    }
                }
            }
        }
    }
    cout<<a<<endl;
    return 0;
}
举报

相关推荐

0 条评论