随笔分类 -  博弈

摘要:题目链接这是一道博弈的题,准确说是尼姆博弈,只要判断各项的异或值即可。代码#include const int maxn = 5000;int x[maxn];int main(){ int t, n, tmp; scanf("%d", &t); while (t--) { scanf("%d", &n); int cnt = 0; for (int i = 1; i <= n; i++) { scanf("%d",&x[i]); if (x[i] == 1) ... 阅读全文
posted @ 2013-04-27 13:49 xindoo 阅读(140) 评论(0) 推荐(0)
摘要:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如 阅读全文
posted @ 2013-02-26 16:45 xindoo 阅读(157) 评论(0) 推荐(0)