Hack
查看原帖
Hack
1055005
aaa_lvzekai楼主2023/8/24 21:01

我这个代码样例都没过,AC了qwq。

建议把样例加入Hack数据。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll read()
{
	ll number=0,check=1;
	char tmp=getchar();
	while(tmp<'0'||tmp>'9')
	{
		if(tmp=='-')
		{
			check=-1;
		}
		tmp=getchar();
	}
	while(tmp>='0'&&tmp<='9')
	{
		number=(number<<1)+(number<<3)+(tmp&15);
		tmp=getchar();
	}
	return number*check;
}
void write(ll x)
{
	if(x<0)
	{
		putchar('-');
		x=-x;
	}
	if(x>9)
	{
		write(x/10);
	}
	putchar(x%10+'0');
}
const ll N=110;
ll t,n,x,tong[N],ans;
int main()
{
	t=read();
	while(t--)
	{
		memset(tong,0,sizeof(tong));
		n=read();
		for(int i=1;i<=n;i++)
		{
			x=read();
			ans^=x;
			for(int j=0;j<=20;j++)
			{
				tong[j]+=(x>>j)&1;
			}
		}
		if(!ans)
		{
			write(0);
			putchar('\n');
		}
		else
		{
			for(int i=20;i>=0;i--)
			{
				if(!(tong[i]&1))
				{
					continue;
				}
				else if(tong[i]==1)
				{
					write(1);
					putchar('\n');
				}
				else if((n-tong[i])&1)
				{
					write(-1);
					putchar('\n');
				}
				else
				{
					write(1);
					putchar('\n');
				}
				break;
			}
		}
	}
	return 0;
}
2023/8/24 21:01
加载中...