为什么这么神奇
查看原帖
为什么这么神奇
799536
Cold_Eyes_bystander楼主2024/4/17 15:38

我的 codecode

#include <bits/stdc++.h>
using namespace std;
#define int long long 
int a[1001],sum=0,n;
void xy()
{
    int r=0;
    for(int i=50;i>=0;i--)
    {
        for(int j=r;j<=n;j++)
        {
            if(a[j]&(1LL<<i)) 
            {
                swap(a[j],a[r]);
                break;
            }
        }
        if(!a[r]&(1LL<<i)) 
        {
            continue;
        }
        for(int k=1;k<=n;k++)
        {
            if(k==r) continue;
            if(a[k]&(1LL<<i)) a[k]^=a[r];
        }
        r++;
    }
    return;
}
main()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    xy();
    for(int i=1;i<=n;i++) sum^=a[i];
    cout<<sum;
}

第二个样例

4
1 5 9 4

我的输出

9

正确输出

13

这份代码竟然过了!

2024/4/17 15:38
加载中...