记录编号 203706 评测结果 AAAAAAAAAA
题目名称 平凡的数据范围 最终得分 100
用户昵称 GravatarSatoshi 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2015-11-03 15:19:30 内存使用 0.39 MiB
显示代码纯文本
#include <fstream>
#include <vector>
#define N 10010
using namespace std;
typedef long long ll;
ifstream in("xor_equ.in");
ofstream out("xor_equ.out");
int n;
ll o[N]={0};
ll ans=0;
ll fft=63;
vector<ll> q;
bool check(ll x,int y)//当前位是否为1
{
	int temp;
	temp=x>>(y-1);
	if(temp&1)return 1;
	else return 0;
}
void read()
{
	int i;
	in>>n;
	for(i=1;i<=n;i++)in>>o[i];
}
void work()
{
	int i,j,k,u,v;
	bool flag;
	for(k=63;k>=1;k--)
	{
		flag=0;
		q.clear();
		for(i=1;i<=n;i++)
		{
			if(check(o[i],k))
			{
				flag=1;
				q.push_back(i);
			}
		}
		if(q.empty())continue;
		u=q[0];
		if(flag&&!check(ans,k))ans=ans^o[u];
		for(i=q.size()-1;i>=0;i--)
		{
			v=q[i];
			o[v]=o[v]^o[u];
		}
	}
	out<<ans<<endl;
	//out<<check(3,2)<<endl;
}
int main()
{
	read();
	work();
	return 0;
}