魔幻海盗 发表于 2013-9-26 21:08:45

关于一种五行棋的最佳策略研究对策

我朋友教我下一种棋 叫五行棋
棋有5行   每行的个数是 1    3    5   7   9个棋子
两人分别交替取棋子 规定每个人一次只能在一行中取棋,不能不取。在选定的那行中可以随意取棋子,取多少都可以(当然至少大于1个),轮流交替取棋子,谁最后能拿到最后一颗,谁就算赢(这个包括 假设剩下一行棋,你直接拿掉最后一整行的棋子的这种情况,反正你拿完后,对方没棋子拿了就算赢了)
问假设对方先取棋,我隐应该采取什么样的策略才能赢,或者我先拿,该怎么拿才能保证高的胜率?
求论坛的大大们指导下小弟迷津吧小弟被虐了 几十把胜率不超过30

northwolves 发表于 2013-9-26 23:01:10

先拿走9个,后拿着必输。

northwolves 发表于 2013-9-26 23:03:31

对于n行棋子,从某行中拿走k个,使得剩余的棋子个数亦或运算后为0即可取胜

魔幻海盗 发表于 2013-9-29 11:22:44

对于二楼和三楼我知道抑或运算   就是把所有的数字 都改为2进制 然后相加   不过我的题目是 让对方拿到最后的旗子而不是自己拿到 旗子   抑或运算为o是保证自己拿到旗子的策略

魔幻海盗 发表于 2013-9-29 11:25:26

请2楼3楼高手   研究下 题目是 对方拿到 和自己拿到 中间有个关键的转换问题这个转换点在哪里   如果下棋中 如何比较快速的计算出方法   
亦或者 自己拿旗子试试   我以前 也试过    题目如果改成 自己要拿到最后一颗的话那问题就简单了
关键是题目是 自己不拿对方拿这不能完全套用那个方式

魔幻海盗 发表于 2013-9-29 11:31:03

1001
   111
   101
   11
       1
11001         和值进行抑或运算---

sheng_jianguo 发表于 2013-9-29 14:40:27

魔幻海盗 发表于 2013-9-29 11:22
对于二楼和三楼我知道抑或运算   就是把所有的数字 都改为2进制 然后相加   不过我的题目是 让对方拿到最 ...

你的题目是“谁最后能拿到最后一颗,谁就算赢”,如果是“让对方拿到最后的旗子”,则稍微难一点,关键是:开始按3#楼做,但当只有一行棋子多于1个时,就取这行,使剩余的棋子个数亦或运算后为1即可取胜。例如:1,1,4,1,0--->1,1,0,1,0;如1,3,1,1,1--->1,1,1,1,1。
我在这方面写过一篇论文:“剩最后一个”对策问题及其解法,供参考。详见附件:

魔幻海盗 发表于 2013-9-30 14:26:38

斑竹果然高人----我当时也是研究半天 关键是相互转换的时候没能深刻    谢谢 了我先学习学习
页: [1]
查看完整版本: 关于一种五行棋的最佳策略研究对策