【HDU】2147 kiki's game
http://acm.hdu.edu.cn/showproblem.php?pid=2147
题意:n×m的棋盘,每次可以向左走、向下走、向左下走,初始在(1, m),n,m<=2000,问先手是否胜利。
#include <cstdio> using namespace std; int main() { int n, m; while(scanf("%d%d", &n, &m), n|m) (n&1)&&(m&1)?puts("What a pity!"):puts("Wonderful!"); return 0; }
妈呀= =让我想起了cf某题...
可是这题和那题不同= =
通过找规律....发现n和m只要有1个是偶数就是必胜的= =
证明如下:
当n为偶数时,可以向下走,转换成n和m都是奇数的必败局面
当m为偶数时,同上
当n和m都是时,向左下走也同上了。
当n和m都是奇数时,显然无论怎么走,都是走到一个n或m为偶数或者n和m都是偶数的局面,即必胜局面
博客地址:www.cnblogs.com/iwtwiioi 本文为博主原创文章,未经博主允许不得转载。一经发现,必将追究法律责任。