题目链接
题意:取石子游戏,两个人轮流取石子,取石子有规则,要么那掉这堆石子,要么将这堆石子分成两堆,在加入原来的石堆当中,先手取完算胜利,否则失败。
思路:简单的Nim游戏,所有值异或为0时,先手失败。
代码:
#include
#include
#include
#include
#include
using namespace std;
cons...
分类:
其他好文 时间:
2014-09-15 01:07:08
阅读次数:
153
题目地址:HDU 1849
初次接触nim博弈,感觉好神奇的说。。。居然可以跟异或运算扯上关系。。。。给人类的智商跪了。。。作为地球人我感到很自豪。。
具体证明什么的看这篇博客被。传送门
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-14 22:13:17
阅读次数:
276
HDU 5011 Game
题目链接
思路:其实就求一个Nim和即可,要推也不难推,和为0下一个必然是胜态,因为至少取走一个,在怎么分也达不到原来那个值了,如果是非0值,就和原来Nim一样必然可以取一堆使得变成0
代码:
#include
#include
const int N = 100005;
int n;
long long a, sum;
int mai...
分类:
其他好文 时间:
2014-09-14 19:21:58
阅读次数:
229
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4994题目意思:有 n 个 heap(假设从左至右编号为1~n),每个 heap 上有一些 objects。有两个player,轮流从左至右的 heap 上取走 object(1 2 #include ....
分类:
其他好文 时间:
2014-09-14 12:38:57
阅读次数:
185
2D-NimTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 3081Accepted: 1398DescriptionThe 2D-Nim board game is played on a grid, with pieces on ...
分类:
其他好文 时间:
2014-09-13 21:17:05
阅读次数:
218
hdu 4994 Revenge of Nim(博弈)...
分类:
其他好文 时间:
2014-09-13 18:45:55
阅读次数:
168
题目链接:
选我选我
就是有n堆物品,然后只有一堆物品完全选完后,才能选好后面的,看最后谁赢。
思路:
确定第一个不为1的是轮到谁,如果谁得到了这个优势,那么他就必胜。。因为他可以人为控制后面的顺序了。。
题意:
题目:
Revenge of Nim
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/...
分类:
其他好文 时间:
2014-09-13 12:08:15
阅读次数:
190
题目链接:HDU 4993 Revenge of ex-Euclid
题意:两个取石头,分别在N堆里去。只有第一堆取完才能取第二堆,以此类推,最后一个取完的为赢家。
思路:从头开始扫,直到第一个不为1为止,判断现在的主动权在谁手里,谁就是赢家。(这里读者可以自己写几组数据试试。)
AC代码:
#include
#include
int main()
{
int...
分类:
其他好文 时间:
2014-09-13 09:27:04
阅读次数:
204
题目地址:HDU 4994
在这个题中,谁拥有了第一个大于1的数的控制权,就是谁赢,因为它可以有两种选择,一种是全选,另一种是选n-1个,此时另一个只能选剩下的那一个。但是当数位1的时候是没法控制的,只能选这一个。这时候就可以在每次选一个大于1的数的时候,就通过这两种选择,来让自己会正好选下一个大于1的数,由于中间的全是1,所以完全可以达到目的。这样只要控制了第一个大于1的数,那后面的就可以通过...
分类:
其他好文 时间:
2014-09-12 23:32:00
阅读次数:
331