poj1067 取石子游戏
2016-05-27 20:16
260 查看
F - 取石子游戏
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。
Input
输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。
Output
输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。
Sample Input
2 1
8 4
4 7
Sample Output
0
1
0
思路,从最基本的情况开始找规律;s表示成功,f表示失败;令a<=b;以下为 “我” 面临的状态,若能令次态为 f , 则 “我” 胜利
0 0 f 1 1 s 2 2 s 3 3 s
0 1 s 1 2 f 2 3 s 3 4 s
0 2 s 1 3 s 2 4 s 3 5 f
0 3 s 1 4 s 2 5 s 3 6 s
0 4 s 1 5 s 2 6 s 3 7 s
可总结出规律,失败的状态为 0 0;1 2;3 5;4 7;6 10;8 13;9 15;每一组数据出现的第一个元素为以前没出现自然数中的最小值。
总结出了规律,可未找到表达式TT,网上查了查才知道,原来用到了黄金分割。。。真是神奇。
a:1,3,4,6,8,9,11,12,。。。;
a[k] = floor( ( sqrt(5)+1 ) / 2 * k );b[k]=a[k]+k;
用 a 是否等于 floor( ( sqrt(5)+1 ) / 2 * (b-a) ) 来检验是否胜利
证明在这,没看懂啊,有时间在研究研究吧http://www.freopen.com/?p=10512
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。
Input
输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。
Output
输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。
Sample Input
2 1
8 4
4 7
Sample Output
0
1
0
思路,从最基本的情况开始找规律;s表示成功,f表示失败;令a<=b;以下为 “我” 面临的状态,若能令次态为 f , 则 “我” 胜利
0 0 f 1 1 s 2 2 s 3 3 s
0 1 s 1 2 f 2 3 s 3 4 s
0 2 s 1 3 s 2 4 s 3 5 f
0 3 s 1 4 s 2 5 s 3 6 s
0 4 s 1 5 s 2 6 s 3 7 s
可总结出规律,失败的状态为 0 0;1 2;3 5;4 7;6 10;8 13;9 15;每一组数据出现的第一个元素为以前没出现自然数中的最小值。
总结出了规律,可未找到表达式TT,网上查了查才知道,原来用到了黄金分割。。。真是神奇。
a:1,3,4,6,8,9,11,12,。。。;
a[k] = floor( ( sqrt(5)+1 ) / 2 * k );b[k]=a[k]+k;
用 a 是否等于 floor( ( sqrt(5)+1 ) / 2 * (b-a) ) 来检验是否胜利
证明在这,没看懂啊,有时间在研究研究吧http://www.freopen.com/?p=10512
相关文章推荐
- [FAFU 1292]博弈论,组合游戏,取石游戏
- 博弈问题
- Sicily 1305 Who’s Winner?
- 三种类型博弈(bash + nimm +wythoff)
- Andrew Stankevich Contest 38 , J-Jackpot
- 纸牌博弈问题
- 取石子游戏
- HDU1527 纯威左夫博弈
- uva 12293 Box Game
- hdu 1846 (博弈)
- HDU 1849(尼姆博弈)
- hdu 1847(博弈)
- hdu 1850(妮姆博奕)
- HDU 1079 Calendar Game
- cf 276b 博弈
- Hdu2177-博弈(Sg函数找规律)
- 威佐夫(Wythoff)博弈
- SG-分石子游戏
- 博弈-取石子
- 博弈-威佐夫博弈