hdu 2147 kiki's game, 入门基础博弈

简介:
博弈的一些概念:
必败点(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;
}





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5384611.html,如需转载请自行联系原作者
相关文章
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
107 0
|
Python
python实现简单的snake game!| 更文挑战
python实现简单的snake game!| 更文挑战
90 0
(数学)(必要解题步骤)2021icpc上海D. Strange Fractions
(数学)(必要解题步骤)2021icpc上海D. Strange Fractions
85 0
[ICPC 46th Shanghai] Life is a Game 克鲁斯卡尔重构树
题目大意: 给定n个点,m条边,有q个询问 每个点有一个(能量值)点权,每条边有一个边权 m条边描述为u v w表示有一条u与v相连的边权为w的通路 在每一次询问中,给定一个点x和现有的能量值k,每次只能是在当前能量值大于边权的时候到达另一个点,并获取这个点的能量值(路可以重复走),问最终能够获得多大的能量值
138 0
【漫步刷题路】- 模拟实现abs()
若n为正数:tmp = 0 n ^tmp 还是n ( 因为0^a = a ) n^tmp - tmp = n - 0 = n** 若n为负数: tmp = -1 结论:-n ^ -1 = n-1 无论n为任意实数(包括0,正负数都满足) 所以 n^tmp - tmp = n
107 0
【漫步刷题路】- 模拟实现abs()