hdoj博弈基础题

来源:互联网 发布:杨洋419事件始末知乎 编辑:程序博客网 时间:2024/05/01 07:44

//昨天和今天复习了一遍博弈,计划把基础的题刷一遍,下面是简单题解

Ahdoj2176

尼姆博弈,判断胜负,并输出胜利者第一次可从a粒石子中拿剩多少粒

我们知道若a1^a2^a3...^an等于0则必败,不等于0则必胜,第一次拿要使得上述结果为0,即走到必败状态。这里运用异或的简单性质,a^a=0,。若一开始结果为ans,则没有这一堆的结果为ans^ai,则若想走到必败态,这一堆剩下ans^ai就可以了。当然注意加特判,剩下的棋子要小于ai,即(ans^ai)<ai。wa了一发,忘了加括号。

Bhdoj3951

n个硬币围成一个圈,可以拿连续的1-k个,先拿光者为胜,问赢者是第一人还是第二人.

对称的简单性质。我们知道若哪一个人可以先将这个圈拿成两个对称的链,则和对手拿一样的,则必胜。

1若n<=k,第一个人全部拿光,必胜

2.(1)若k==1,若n为奇数,无论第二个人在哪里取,第一个人都能将圈拆成两个对称的链,若n为偶数,则第二个人必胜

    (2)若k!=1,第二个人必胜

(至于我为什么wa那么多次,second拼错了..)

C

0 0
原创粉丝点击