您的位置:首页 > 其它

uva 1482 - Playing With Stones

2013-11-01 23:17 453 查看
对于组合游戏的题;

首先把问题建模成NIM等经典的组合游戏模型;

然后打表找出,或者推出SG函数值;

最后再利用SG定理判断是否必胜必败状态;

#include<cstdio>
#define ll long long
using namespace std;

ll sg(ll x)
{
return x%2==0 ? x/2 : sg(x/2);
}

int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
ll a,ans=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%lld",&a);
ans^=sg(a);
}
puts(ans==0?"NO":"YES");
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: