题目链接:uva 1378 - A Funny Stone Game
题目大意;两个人玩游戏,对于一个序列,轮流操作,每次选中序列中的i,j,k三个位置要求ij≤k,然后arr[i]减1,相应的arr[j]和arr[k]加1,不能操作的人输,问先手是否必胜,必胜的话给出字典序最下的必胜方案,负责输出-1.
解题思路:首先预处理出各个位置上的SG值,然后对于给定序列,枚举位置转移状态后判...
分类:
其他好文 时间:
2014-08-09 00:20:07
阅读次数:
352
题目链接:uva 11249 - Game
题目大意:给定K和N,表示有N轮游戏,每轮游戏给定两堆石子的个数,两人轮流操作,每次操作可以选择一堆取任意数量的石子,也可以选两堆取,要求两堆取的石子数之差的绝对值小于K,不能操作者为输,问先手的胜负情况。
解题思路:傻逼先手才一次取完,那样的话对手直接将另一堆取光不就傻逼了。所以先手就有一个取石子的最优策略,当两堆石子的数量差小于等K的时候...
分类:
其他好文 时间:
2014-08-09 00:17:36
阅读次数:
340
题目链接:uva 12293 - Box Game
题目大意:有两个盒子,第一个盒子装有n个球,第二个盒子装又1个球,每次操作将少的盒子中的球全部拿掉,并从另一个盒子中取一些球放入该盒子,不能使另一个盒子中球的个数为0。两人轮流操作,问说最后谁胜。
解题思路:n如果为2i?1那么先手必败。
#include
#include
#include
using namespace ...
分类:
其他好文 时间:
2014-08-07 00:53:27
阅读次数:
211
题目链接:uva 11927 - Games Are Important
题目大意:给出一张无环有向图,并给出每个节点上的石子数,每次操作可以选择一个石子,向下一个节点移动。两人轮流操作,直到不能操作为失败者。
解题思路:有了图之后,用记忆化的方式处理出每个节点的SG值,取所有石子数为奇数的节点的Nim和。
#include
#include
#include
using n...
分类:
其他好文 时间:
2014-08-07 00:52:57
阅读次数:
245
UVA 1378 - A Funny Stone Game
题目链接
题意:给定n堆石头,然后每次能选i, j, k,3堆(i
思路:组合游戏,需要转化,把石子一字排开,最后肯定都归到n堆上,n堆是不能取的,所以假设每个石子代表一堆,从左往右分别是n - 1, n - 2, n - 3 ... 2, 1, 0,然后每次取一个加两个,就相当于取掉一堆,多上两堆,这样就转化为了Ni...
分类:
其他好文 时间:
2014-08-06 11:52:41
阅读次数:
316
Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每次一步,选手可以在(一般而言...
分类:
其他好文 时间:
2014-07-19 11:34:18
阅读次数:
258
组合游戏与SG函数 求法 附带几道题目 nyoj的取石子(十)...
分类:
其他好文 时间:
2014-05-22 12:04:57
阅读次数:
262