poj解题报告——1740
来源:互联网 发布:淘宝针织衫热词 编辑:程序博客网 时间:2024/06/05 04:00
还是一道博弈论的题目
题意:对于n堆石子,每堆若干个,两人轮流操作,每次操作分两步,第一步从某堆中去掉至少一个,第二步(可省略)把该堆剩余石子的一部分分给其它的某些堆。最后谁无子可取即输。
分析:首先考虑两堆相等的情况,一定是谁取谁输,因为对方永远可以做对称的操作。对于四堆,1、2堆相等,3、4堆相等的情况,一定也是先手输,后手也只需要做对称的操作(在先手取石子的对称堆中取相同多的石子,并把和先手等量的石子分给先手分配给的堆的对称堆。(若先手在3堆取,并分给1堆,那后手就在4堆取,分给2堆)。也就是说对于任意的一对一对相等的情况来说,一定是后手必胜。
#include<stdio.h>#include<string.h>int main(){int n,num[120],x,flag;int i,j,k;while(scanf("%d",&n)&&n){memset(num,0,sizeof(num));for(i=0;i<n;++i){scanf("%d",&x);num[x]++;}flag=0;for(i=1;i<101;i++){if(num[i]&1){flag=1;break;}}printf("%d\n",flag);}return 0;}
0 0
- poj解题报告——1740
- POJ 1088 滑雪——解题报告
- POJ 1047——解题报告
- poj解题报告——poj1006
- poj解题报告——1032
- poj解题报告——1061
- poj解题报告——1450
- poj解题报告——1002
- poj解题报告——2109
- poj解题报告——1218
- poj解题报告——1250
- poj解题报告——1012
- poj解题报告——3299
- poj解题报告——2209
- poj解题报告——2406
- poj解题报告——2242
- poj解题报告——1401
- poj解题报告——1328
- 队列 Queue 用链表实现队列
- eclipse保存内容,弹出svn错误框:updating change sets for svnStatusSubscriber
- Big Keng
- 关于使用Font-Awesome图标注意
- 重装系统时忘记拔U盘或移动硬盘导致磁盘盘符错位
- poj解题报告——1740
- HDU2553:N皇后问题【递归】
- 水池数目
- WAMP设置通过IP地址访问
- EMMA 覆盖率工具
- 做一个PC聊天工具(一)
- 3D建模基础教程
- MFC修改视图CView的背景颜色
- 暴力+稍微剪枝 SRM 660 Div1 Easy: Coversta