poj 1740 A New Stone Game(博弈)
来源:互联网 发布:三维模型矩阵旋转源码 编辑:程序博客网 时间:2024/05/17 03:22
poj 1740 A New Stone Game
题目大意:两个人玩拔旗游戏,给出n堆旗子,每个人都可以操作这些旗子,但是每个人每次操作都必须拔掉一个旗子,然后也可以把这堆里的其他旗子分配给别的堆,当某一堆旗子已经被拔光了,就不可以再往里面放旗子了。当某个人没法对旗子进行操作时,这个人就输了。判断一下先手能赢吗?
解题思路:如果只有一堆旗子的话,第一个操作的人就可以将旗子拔光,这样第二个人就没法对旗子进行操作了,就一定会是先手必胜。
如果是两堆旗子一样高度的话,第一个人不论做什么操作,第二个人都可以仿造第一个人的操作,到了最后一定会产生旗子两堆旗子都为空的状况,这个时候,第一个人先在这种情况下进行操作,自然就输了,所以说这个是一个必败点。
接下来的三堆以上的情况,第一个人都可以将最高的那一堆先操作,补全不成对的旗子,制造出成对的旗子(两个相同高度的旗子为一对)。这样就找出了后手的必败点,先手就必胜。
除非一开始就给出了成对的旗子,这样第一个人就一定会输。
#include<stdio.h>#include<algorithm>using namespace std;const int N = 10;int s[N], n;int main () {while (scanf ("%d", &n), n) {int i;for (i = 0; i < n; i++)scanf ("%d", &s[i]);if (n % 2)printf ("Win\n");else {sort (s, s + n);for (i = 0; i < n; i = i + 2)if (s[i] != s[i + 1])break;if (i == n)printf ("Lose\n");elseprintf("Win\n");}}return 0;}
0 0
- poj 1740 A New Stone Game( 博弈)
- poj 1740 A New Stone Game(博弈)
- poj 1740 A New Stone Game(博弈)
- poj 1740 A New Stone Game 博弈
- POJ 1740 A New Stone Game【博弈】
- POJ 1740 A New Stone Game(博弈)
- POJ 1740 A New Stone Game (博弈)
- poj 1740 A New Stone Game(博弈)
- POJ 题目1740 A New Stone Game(博弈)
- 博弈 POJ A New Stone Game
- POJ 1740 A New Stone Game 博弈,规律
- [POJ](1740)A New Stone Game --找规律博弈(博弈)
- A New Stone Game(博弈)
- poj1740 A New Stone Game(博弈)
- [POJ1740]A New Stone Game(博弈)
- pku 1740 A New Stone Game(博弈,感性)
- POJ 1740 A New Stone Game
- POJ 1740 A New Stone Game
- 剑指offer:从1到n整数中1出现的次数
- signal.h 中 signal 和 raise的用法
- 我的Android笔记(十三)——Muilti-touch 双指缩放的实现探索
- CloudFoundry部署(五):CF应用部署
- android 之 listview (一)
- poj 1740 A New Stone Game(博弈)
- shell程序设计(1)
- Xcode非ARC项目中设置部分文件ARC支持
- 傅盛:一家公司的CEO该干什么?
- 互联网思维到底是什么——移动浪潮下的新商业逻辑
- 调试接口的一些方法
- list容器的实现
- 我喜欢的他 是这个的样子
- 前缀、中缀、后缀表达式