【Nim游戏】POJ2975[Nim]题解
来源:互联网 发布:linux系统shell 编辑:程序博客网 时间:2024/05/17 08:16
题目概述
给出一个
解题报告
太菜了……刚学
那么
- 无法操作的状态是
L 。 - 有一个子状态是
L 的状态是W 。 - 没有一个子状态是
L 的状态是L 。
那么怎么判断一个状态是
可怕的地方来了……有一个定理:如果
- 当无法操作时,
Xor 显然为0 。 - 当状态是
W 时,Xor>0 ,我们一定可以找到一个ai ,满足ai 在Xor 的最高位上的数为1 (二进制),这样ai xor Xor<ai ,说明有一个子状态为L 。 - 当状态是
L 时,Xor=0 ,则不可能找到2中的ai ,所以没有一个子状态为L 。
然而这道题更鬼畜一点,怎么求对手必败的方案数?我们来想,如果
示例程序
#include<cstdio>using namespace std;const int maxn=1000;int n,a[maxn+5],nim,ans;int main(){ freopen("program.in","r",stdin); freopen("program.out","w",stdout); for (scanf("%d",&n);n;scanf("%d",&n)) { nim=0;for (int i=1;i<=n;i++) scanf("%d",&a[i]),nim^=a[i]; ans=0;for (int i=1;i<=n;i++) ans+=(nim^a[i])<a[i];printf("%d\n",ans); } return 0;}
阅读全文
0 0
- 【Nim游戏】POJ2975[Nim]题解
- POJ2975(Nim游戏)
- ZOJ3067 POJ2975 Nim,经典NIM游戏
- [POJ2975]Nim游戏(博弈)
- NIM游戏-博弈论(poj2975+CodeForces
- [poj2975]Nim
- poj2975 Nim
- poj2975 Nim
- POJ2975:Nim
- 【poj2975】Nim
- Nim POJ2975
- POJ2975 Nim
- poj2975 nim(nim博弈)
- 【POJ2975】Nim (博弈)
- POJ2975&&ZOJ3067----Nim
- 【POJ2975】Nim 博弈
- poj2975 Nim 博弈
- POJ2975--NIM博弈问题
- 吐血推荐珍藏的 Chrome 插件二
- 人类能否驾驭浩瀚宇宙?
- 在网页中调用摄像头实现拍照上传
- 玩转算法面试-数据规模,时间复杂度,均摊复杂度
- JDK自带工具keytool生成ssl证书
- 【Nim游戏】POJ2975[Nim]题解
- RabbitMQ与AMQP协议详解
- PHP函数pcntl_fork的理解与应用
- iOS程序国际化解决方案
- springboot学习笔记(十) RabbitMQ
- scikit-learn逻辑回归类库使用总结
- Power BI 学习笔记02
- NOIP2017赛前模拟 字符串(AC自动机)
- JavaScript函数——更深入的窥探