HDU 1847(博弈)
Posted dwtfukgv
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1847(博弈)相关的知识,希望对你有一定的参考价值。
题意:不用说了吧,都是中文的。
析:虽说这是一个博弈的题,但是也很简单的,在说这个题目前我们先说一下巴什博弈定理。
巴什博弈定理:一堆物品有n个,有两个人(两个人足够聪明)轮流取,规定每次至少取一个,最多取m个,最后取完的胜利。 如果n%(m+1) != 0, 则先取者获胜,否则后取者获胜。
为什么呢?我们来分析一下,因为两个人足够聪明,如果第一个人给第二个人每次都留m+1的倍数,那么第二人要么取一个,要么大于一个小于m个,当取一个时第一个可以取m个又够成m+1的倍数,最后肯是第一个胜,
要是取大于一个小于m个,第一个人同样可以再构成m+1的倍数,最后肯定是第一个胜。
说完巴什博弈定理,我们再看这个题是不是就觉得简单了呢?第一个去构造3的倍数,因为可以取2的幂次的倍数,只要能构造出来,肯定是第一个胜。
代码如下:
#include <iostream> #include <cstdio> using namespace std; int main(){ int n; while(~scanf("%d", &n)){ if(0 == n % 3) puts("Cici"); else puts("Kiki"); } return 0; }
以上是关于HDU 1847(博弈)的主要内容,如果未能解决你的问题,请参考以下文章
hdu1847 Good Luck in CET-4 Everybody!(巴什博弈)
HDU 1847 Good Luck in CET-4 Everybody!(规律,博弈)
HDU 1847 Good Luck in CET-4 Everybody! (巴什博弈)