hdu1850博弈论取分堆的石子
方法就是将该组测试数据中所有的数据进行异或计算。得出结果为0则为必输,不为零必胜。
#include<iostream>
using namespace std;
const int MAXM=102;
int main()
{
int M;
while(cin>>M)
{
int num[MAXM];
if(M==0)
{
break;
}
int i=0;
for(i=0;i<=M-1;i++)
{
cin>>num[i];
}
int result=0;
for(i=0;i<=M-1;i++)
{
int j=0;
int sum=0;
for(j=0;j<=M-1;j++)
{
if(i!=j)
{
sum=sum^num[j];
}
}
if(sum<num[i])
{
result++;
}
}
cout<<result<<endl;
}
return 0;
}
本博客(http://www.cnblogs.com/cj695/)未标明转载的内容均为本站原创,非商业用途转载时请署名(77695)并注明来源(http://www.cnblogs.com/cj695/)。商业用途请联系作者(77695) QQ:646710030。作者(77695)保留本博客所有内容的一切权利。
独立博客:http://nfeng.cc/
独立博客:http://nfeng.cc/

浙公网安备 33010602011771号