智商吧 关注:203,506贴子:1,885,303
  • 6回复贴,共1

又一种新的拿三堆石头题!!

只看楼主收藏回复

Description
champ最近在和dalong玩一个取石子游戏,游戏规则很简单:有三堆石子,两人轮流取,每次任选两堆石子,然后从一堆中取走x(x>=1)个石子,另一堆中取走2*x个石子,最后不能取者输掉游戏,champ每一次都先取。 现在,champ告诉你初始三堆石子的数量,他想知道,自己是否有必胜的策略。你可以假定champ和dalong都足够聪明,每次都会选
择最优的策略。
Input多组测试数据每行3个正整数(范围[0,255]),表示最初三堆石子的数量。0 0 0表示输入结束。这组数据不用处理
Output每组输出一行如果champ有必胜策略,那么输出"champ",否则输出"dalong"。(注意,引号不要输出)
Sample Input
1 2 0
1 4 1
0 0 0
Sample Output
champ
dalong
现出3题,问:先者胜还是负,如果胜的话,第一步怎样拿?
题1:4,6,10
题2:20,30,45
题3: 40,50,60



1楼2012-02-13 16:32回复


    2楼2012-02-13 16:38
    回复
      均有解,但是否是唯一解未知
      1.拿成2,2,8,dalong不管如何拿均输
      2.拿成40,40,40,之后每次在dalong弄完(任意取)后都将剩下的三堆平衡为2n,2n,2n,当n=1即最小值时dalong输
      3.拿成10,10,45,每次都dalong将其中小堆数量变为x后,champ将另一小堆的数目也减至x,x=1或2时dalong输
      这种题目建议不要发到这个吧来,发到数学吧去得到有效答案的可能要大得多


      IP属地:湖北3楼2012-02-14 03:42
      回复
        一道老题被顶上来了,还是很不错的说!


        本楼含有高级字体7楼2012-09-25 09:24
        回复
          占楼!


          IP属地:重庆来自手机贴吧8楼2012-09-25 14:30
          回复


            来自手机贴吧9楼2012-09-25 22:42
            收起回复