摘要: 这个题要找一下规律:我们假设1为必败点P,则2~9为必胜点,那么10~18又是必败点,19~162又为必胜点,163~324为必败点;必胜点为m*18^n(m<=9),必败点为m*18^n(m>9);View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #include<set> 8 #inclu 阅读全文
posted @ 2012-04-18 21:23 wutaoKeen 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 这题Nim博弈;这一就是要考虑全部为1的情况;View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #include<set> 8 #include<map> 9 #include<vector>10 using namespace std;11 12 int main( )13 {1 阅读全文
posted @ 2012-04-18 19:31 wutaoKeen 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 典型的Nim博弈题View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #include<set> 8 #include<map> 9 #include<vector>10 using namespace std;11 12 int main( )13 {14 int num[124] 阅读全文
posted @ 2012-04-18 17:05 wutaoKeen 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 这是一道Fibonacci’s Game (斐波那契博弈)斐波那契博弈模型,是ACM题中常见的组合游戏中的一种,大致上是这样的:有一堆个数为 n 的石子,游戏双方轮流取石子,满足:1. 先手不能在第一次把所有的石子取完;2. 之后每次可以取的石子数介于 1 到对手刚取的石子数的 2 倍之间(包含 1 和对手刚取的石子数的 2 倍)。约定取走最后一个石子的人为赢家,求必败态。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm& 阅读全文
posted @ 2012-04-18 16:05 wutaoKeen 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 这是一道Nim博弈;这要要考虑就是全是1的情况;View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 int main( ) 8 { 9 int n,m,num;10 while( scanf( "%d",&n )==1 )11 {12 while( n-- )13 {14 scanf( &quo 阅读全文
posted @ 2012-04-18 00:11 wutaoKeen 阅读(200) 评论(0) 推荐(0) 编辑