【模板】nim 游戏
一道经典的博弈论题目。
首先说结论,先手必胜当且仅当所有堆的石头数异或和不为0。原因是假如所有堆的石头异或和不为0时必然有一种方法可以使得异或和变成0,而当异或和等于0时不论怎么取都会使得异或和变成非0数。这样下去总会有一个时候使得异或和为0后所有石头堆都为0,那么这样先手必胜。
感觉最近的随笔越来越水了。
#include<cstdio>
//#define zczc
inline void read(int &wh){
wh=0;int f=1;char w=getchar();
while(w<'0'||w>'9'){if(w=='-')f=-1;w=getchar();}
while(w<='9'&&w>='0'){wh=wh*10+w-'0';w=getchar();}
wh*=f;return;
}
int T,m,now,in;
signed main(){
#ifdef zczc
freopen("in.txt","r",stdin);
#endif
read(T);
while(T--){
read(m);now=0;
while(m--){read(in);now^=in;}
if(now)printf("Yes\n");
else printf("No\n");
}
return 0;
}
一如既往,万事胜意
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)