首页 > 代码库 > hdu 2147 kiki's game, 入门基础博弈
hdu 2147 kiki's game, 入门基础博弈
博弈的一些概念:
必败点(P点) : 前一个选手(Previous player)将取胜的位置称为必败点。
(1) 所有终结点是必败点(P点);
(2) 从任何必胜点(N点)操作,至少有一种方法可以进入必败点(P点);
(3)无论如何操作, 从必败点(P点)都只能进入必胜点(N点).
在一个m*n的棋盘内,从(1,m)点出发,每次可以进行的移动是:左移一,下移一,左下移一。然后kiki每次先走,判断kiki时候会赢(对方无路可走的时候)。
必败点(P点) : 前一个选手(Previous player)将取胜的位置称为必败点。
必胜点(N点) : 下一个选手(Next player)将取胜的位置称为必胜点。
(1) 所有终结点是必败点(P点);
(2) 从任何必胜点(N点)操作,至少有一种方法可以进入必败点(P点);
(3)无论如何操作, 从必败点(P点)都只能进入必胜点(N点).
hdu 2147 kiki‘s game
在一个m*n的棋盘内,从(1,m)点出发,每次可以进行的移动是:左移一,下移一,左下移一。然后kiki每次先走,判断kiki时候会赢(对方无路可走的时候)。
我们可以把P、N状态的点推出来如下图
#include<cstdio> #include<algorithm> using namespace std; int main() { int a, b; while(scanf("%d%d", &a, &b)) { if(a==0&&b==0) break; if(a%2==0 || b%2==0) printf("Wonderful!\n"); else printf("What a pity!\n"); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。