F - Magic Forest 异或思维

传送门
思维:异或的性质 a ^ a =0.
那么必然有i ^ j = k. k = k ^ 0;
那么程序可以优化到O2。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int cnt = 0;
    for(int i = 1; i <= n; i++)
        for(int j = i + 1; j <= n; j++)
        {
            if((i ^ j) > i && (i ^ j) > j && ((i ^ j) <= n) && (i + (i ^ j) > j) && (j + (i ^ j) > i) && (i + j > (i ^ j)))
            {
                cnt++;
                //cout << i << " " << j << " " << (i ^ j) << endl;
            }
        }
    cout << cnt << endl;
    return 0;
}

发布了241 篇原创文章 · 获赞 8 · 访问量 4855

猜你喜欢

转载自blog.csdn.net/weixin_43960370/article/details/103413354
今日推荐