POJ 2975 Nim 题解
来源:互联网 发布:dota2比赛数据未找到 编辑:程序博客网 时间:2024/05/20 23:56
题意
给定nim游戏的一种局面,问你现在这一步有多少种取法使得你进入必胜态
思路
你的必胜态也就是对手的必败态,也就需要你这一步取完后剩下每堆的石子数量异或和为0,而一步只能选择一堆石子拿走一些,所以其他石子异或和不变,如果想要在这一堆石子中拿完一些后进入必胜态,需要这一堆石子剩下的数量为其他石子异或和。我们可以先将全部数量异或,然后再异或这一堆的石子数量得到其他石子异或和,然后判断这个数是否小于这一堆石子数量,如果小于就可以从这一堆中取走这两数之差个石子,是一种取法,否则,这一堆不能取,遍历一遍后可得答案
代码
#include <cstdio>int k[1001];int main(){ int n,allxor,ans; while(1) { scanf("%d",&n); if(n==0) break; allxor=0; ans=0; for(int i=0;i<n;i++) { scanf("%d",&k[i]); allxor^=k[i]; } for(int i=0;i<n;i++) if((allxor^k[i])<k[i]) ans++; printf("%d\n",ans); } return 0;}
0 0
- POJ 2975 Nim题解
- POJ 2975 Nim 题解
- POJ 2975 Nim题解---简单的博弈论
- POJ 2960[S-Nim] 题解
- POJ 2975 Nim <Nim 博弈>
- POJ-2975-Nim
- poj 2975 Nim 水
- POJ 2975 Nim
- POJ Nim (2975)
- poj 2975 Nim
- 【POJ 2975】 Nim 博弈论
- poj 2975 Nim
- poj 2975 Nim(博弈)
- poj 2975 NIM
- 经典的NIM-poj-2975-Nim
- POJ 题目2975 Nim(nim)
- POJ 2975 Nim(nim博弈)
- POJ-2975-Nim(Nim博弈)
- order by子句
- faster rcnn svd compress
- 安卓实战-计算器
- 制作电子相册
- 单行函数
- POJ 2975 Nim 题解
- Android 同一个BroadcastReceiver在两个程序里执行
- react-native之flex布局总结
- oracle中三大类型与隐式数据类型转换
- caffe2 在树莓派raspberry Pi 3b平台应用(一 源码编译注意事项)
- 并查集总结
- caffe2 介绍
- Ubuntu系统重启后/etc/resolv.conf内容丢失
- win10 禁用更新