魔方吧·中文魔方俱乐部
标题:
k倍动态减法游戏
[打印本页]
作者:
superacid
时间:
2010-4-2 12:45:48
标题:
k倍动态减法游戏
k倍动态减法游戏:
两个人玩游戏,有一个整数S(S>=2),第一人在S上减掉一个数x,至少是1,但小于S。之后双方轮流把S减掉一个正整数,但都不能超过先前一回合对方减掉的数的k倍(k是正整数),减到0的一方获胜。问:谁有必胜策略。
作者:
裸兰
时间:
2010-4-2 12:59:15
k一定的话,第一个人必胜?还是必胜方与s有关?
作者:
superacid
时间:
2010-4-2 13:04:14
就是对一定的k,求哪些S使得第一个人胜,哪些使得第二个人胜
作者:
dangerxxxx
时间:
2010-4-2 14:28:03
有点难度 不知道
作者:
chuchudengren
时间:
2010-4-2 15:08:31
似乎只有k=1好分析,其余的情况就不知怎么入手了
作者:
superacid
时间:
2010-4-2 16:05:10
据说k=2就很有难度
作者:
裸兰
时间:
2010-4-2 17:13:41
小时的的取火柴棍游戏的拓展,k要是随x变动就更有难度了
作者:
superacid
时间:
2010-4-2 18:05:29
标题:
回复 7# 的帖子
这样过于不确定,就没有研究价值了
作者:
tm__xk
时间:
2010-4-2 18:08:26
k=1简单..
k=2只看到一个Fibonacci..
k=3暂时找不到有价值的规律了..= =
作者:
limite034
时间:
2010-4-2 23:35:30
我好想见过这道题。其大概意思是:有若干堆火柴。可以拿一堆,也可以在一堆里面拿一些。最后拿完的为输。
只要策略正确,胜负关系在比赛以前其实已经定了。在若干年前,我曾经用BASIC编过一个程序。
最后把火柴集合(堆数和每堆的数量)打印出一个对照表。只能“背”一些表(集合太大了,谁也记不住)
还有一种情况,太多数情况下,是不便于“数”数的。
我的结论:谁也没有胜负的把握!否者,就不存在这道题了!只有用计算机玩才比人脑有必胜的把握
[
本帖最后由 limite034 于 2010-4-2 23:39 编辑
]
作者:
tm__xk
时间:
2010-4-3 00:06:11
标题:
回复 10# 的帖子
两题差得远了....
作者:
lulijie
时间:
2010-4-3 00:43:54
我来谈谈自己的思路:
对于s和k,若先行方必胜,记做g(s,k)=1,反之记做g(s,k)=0
对于前一次对手取x,剩下还有s,若此次选手必胜记做f(s,x,k)=1,反之记做f(s,x,k)=0.
所以有以下递推公式:
f(0,n)=0
g(s,k)=Not (∏f(s-x,x,k)) , x=1 to s-1 Not(x) 表示x为1,等于0;x为0,等于1
f(s,y,k)=Not( ∏f(s-x,x,k)) , x=1 to yk
------------------------
当k确定时,可以把函数f、g括号里的k省略掉
从以上递推公式,可以推出
k=2时:
f(1,n)=1 g(2)=Not(f(1,1))=0
f(2,n)=1 g(3)=Not(f(2,1)*f(1,2))=0
f(3,1)=0 g(4)=Not(f(3,1)*f(2,2)*f(1,3))=Not(0)=1
f(3,n)=1 n>1
f(4,n)=1 g(5)=Not(f(4,1)*f(3,2)*f(2,3)*f(1,4))=0
f(5,1)=0 g(6)=Not(f(5,1)*......)=Not(0)=1
f(5,2)=0 g(7)=Not(f(5,2)*......)=Not(0)=1
f(5,n)=1 n>2
......................
对于其他的k值,利用电脑的高速计算力,结合上述递推公式,应该能很快计算出来。
作者:
tm__xk
时间:
2010-4-3 01:21:00
标题:
回复 12# 的帖子
递推公式不难,问题是要通项公式..
作者:
superacid
时间:
2010-4-3 02:04:29
标题:
回复 10# 的帖子
你说的那道题简单多了,经典的NIM游戏,写成二进制按位相加考虑就可以了
作者:
tm__xk
时间:
2010-4-3 03:55:30
标题:
回复 14# 的帖子
或者说异或.
那题本区出现过了..
作者:
superacid
时间:
2010-4-4 00:22:04
谁能提供一个k=3的可计算的解答?
作者:
tm__xk
时间:
2010-4-4 02:34:15
标题:
回复 16# 的帖子
可计算?你是指通项公式?
作者:
lulijie
时间:
2010-4-5 18:53:08
k=3:
必败局面
s=2,3,4,6,8,11,15,20......
从s=6开始,后面的每项都等于前面的项+1+{前面的项/3} {X}表示比X小的最大整数。
--------------------------------
对于任意的k,
s=2,3,......,k,k+1,k+3,......
从s=k+3开始,都有后面的每项都等于前面的项+1+{前面的项/k}
作者:
tm__xk
时间:
2010-4-5 19:56:48
标题:
回复 18# 的帖子
k=3,我推的怎么是4,6,8,11,15,21,28,38?
15->21那步有点奇怪..是不是我弄错了..
欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/)
Powered by Discuz! X2