当前位置: 首页 > news >正文

洛谷 P2197:【模板】Nim游戏 ← Nim博弈

【题目来源】
https://www.luogu.com.cn/problem/P2197

【题目描述】
甲,乙两个人玩 Nim 取石子游戏。
Nim 游戏的规则是这样的:地上有 n 堆石子,每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如甲是先手,且告诉你这 n 堆石子的数量,他想知道是否存在先手必胜的策略。

【输入格式】
本题有多组测试数据。
第一行一个整数 T,表示有 T 组数据。
接下来每两行是一组数据:
• 第一行一个整数 n,表示有 n 堆石子;
• 第二行有 n 个数,表示每一堆石子的数量。

【输出格式】
共 T 行,每行表示如果对于这组数据存在先手必胜策略则输出 Yes,否则输出 No。

【输入样例】
2
2
1 1
2
1 0​​​​​​​

【输出样例】
No
Yes​​​​​​​

【数据范围】
对于所有数据,1≤T≤10,1≤n≤10^4。

【算法分析】
● Nim 博弈定理:对于任意的 {a1, a2, a3, …, an},若 S=a1⊕a2⊕a3⊕⋯⊕an 的值不等于 0,先手必胜,记为 N-position(先手必胜态)。若 S=a1⊕a2⊕a3⊕⋯⊕an 的值等于 0,先手必败,记为 P-position(先手必败态)。

【算法代码】
“AcWing 891:Nim游戏 → https://blog.csdn.net/hnjzsyjyj/article/details/158704426”,是单组数据,本题是多组数据。

#include <bits/stdc++.h>
using namespace std;int main() {int T;cin>>T;while(T--) {int n,t=0;cin>>n;for(int i=1; i<=n; i++) {int x;cin>>x;t^=x;}if(t==0) cout<<"No\n";else cout<<"Yes\n";}return 0;
}/*
in:
2
2
1 1
2
1 0out:
No
Yes
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/158704426
https://www.acwing.com/file_system/file/content/whole/index/content/12084580/
 

http://www.jsqmd.com/news/442122/

相关文章:

  • 为什么90%的嵌入式团队放弃形式化验证?曝光3个致命认知误区及2小时快速上手验证工作流
  • 【仅限首批500份】C语言固件安全检测Checklist V3.2(含MISRA-C:2023新增Rule 21.12适配项及NIST SSDF实践映射表)
  • 工业自动化代码遗产抢救行动:如何在72小时内将10万行C嵌入式逻辑无损转为符合IEC 61131-3标准的梯形图,含时序一致性校验
  • Dify私有化部署“隐形杀手”曝光:Redis缓存穿透致API超时率飙升至41%,教你用布隆过滤器+本地Caffeine二级缓存一招封神
  • Dify评估链路全拆解:从Prompt注入检测到Judge模型偏见校准,3步拿下高分答案
  • 【C语言固件OTA断点续传实战手册】:20年嵌入式老兵亲授——3大核心机制、5处易崩点、1套可量产代码框架
  • 【20年安全架构师亲授】:MCP OAuth 2026协议栈源码逐行分析——从Authorization Server初始化到DPoP绑定失效防御
  • 揭秘MCP Sampling接口的5层调用栈:从ClientRequest到ModelResponse,你漏掉的第3层正导致采样延迟飙升
  • 【工业级裸机C验证黄金标准】:IEEE 1685-2023合规性验证流程图解,含3套可复用ACSL契约规范库
  • Wan2.1 VAE前端交互开发:通过微信小程序实现移动端图像生成体验
  • 【MCP协议性能革命】:20年架构师源码级对比REST API,3大瓶颈实测数据曝光!
  • RTOS内核裁剪仅剩4.2KB?资深嵌入式架构师亲授“功能-时序-安全”三维裁剪评估模型(含ISO 26262 ASIL-B合规要点)
  • 揭秘工业PLC梯形图生成真相:用C语言自动反编译LAD网络的5大核心算法(附ST源码级转换器)
  • 【C语言裸机程序形式化验证权威指南】:20年嵌入式专家首次公开7大数学建模陷阱与3类Coq证明模板
  • ARM Cortex-M3裸机启动失败全归因,内核裁剪后中断向量表错位问题全解析,精准定位+秒级修复
  • 2026年青海企业宣传服务商精选:AI驱动下的增长新选择 - 2026年企业推荐榜
  • 2026年3月长沙雨花区休闲食品批发配送服务商综合评选 - 2026年企业推荐榜
  • 嵌入式系统资源告急?实时性骤降90%的罪魁祸首竟是它(RTOS内核冗余组件深度解剖)
  • 内存碎片率飙升92%?工业场景下C内存池动态扩容的7步精准扩容协议,立即生效
  • VBA实现赋值加重置数据有效性为序列
  • 【Dify私有化部署权威白皮书】:基于金融级等保三级要求的12项安全配置项逐条对照表(含YAML校验脚本)
  • 国密算法适配不是“改头换面”!揭露某百万级NB-IoT模组因C语言宏定义误用导致SM9标识认证批量拒签的真实故障链
  • 为什么你的医疗设备C代码通不过FDA审计?揭秘ISO/IEC 17025实验室最常驳回的4类注释缺失问题
  • 2026年武汉工伤赔偿律师团队选择指南 - 2026年企业推荐榜
  • Dify高可用架构配置详解,深度解析主备切换SLA保障、PostgreSQL连接池压测调优与OpenTelemetry可观测性埋点
  • MCP连接器与SQLite/PostgreSQL/MySQL本地实例对接差异全对比,面试官闭着眼睛都会问的6个底层原理
  • Dify Rerank模块源码剖析(含LlamaIndex/ColBERT双引擎对比实测)
  • Dify多Agent协作失效的7个隐性征兆,第5个90%团队已中招——附自动诊断脚本+修复Checklist
  • MAUI 嵌入式 Web 架构实战(三) 构建可扩展的 PicoServer REST API 框架
  • 从汇编地狱到C级抽象:存算一体芯片指令封装的4层抽象模型(附2024最新开源SDK实测基准)