HDOJ 2147 kiki's game(基础博弈)
2015-09-22 18:35
357 查看
Total Submission(s): 8480 Accepted Submission(s): 5053
Problem Description
Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes the checkerboard game.The size of the chesserboard is n*m.First of all, a coin is placed in the top right
corner(1,m). Each time one people can move the coin into the left, the underneath or the left-underneath blank space.The person who can't make a move will lose the game. kiki plays it with ZZ.The game always starts with kiki. If both play perfectly, who will
win the game?
Input
Input contains multiple test cases. Each line contains two integer n, m (0<n,m<=2000). The input is terminated when n=0 and m=0.
Output
If kiki wins the game printf "Wonderful!", else "What a pity!".
Sample Input
Sample Output
题解:画出PN图(对于Kiki来说,每一个必败点的前一步都是必胜点),由PN图即可得到规律,当n*m为偶数是Kiki必胜。
代码如下:
kiki's game
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total Submission(s): 8480 Accepted Submission(s): 5053
Problem Description
Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes the checkerboard game.The size of the chesserboard is n*m.First of all, a coin is placed in the top right
corner(1,m). Each time one people can move the coin into the left, the underneath or the left-underneath blank space.The person who can't make a move will lose the game. kiki plays it with ZZ.The game always starts with kiki. If both play perfectly, who will
win the game?
Input
Input contains multiple test cases. Each line contains two integer n, m (0<n,m<=2000). The input is terminated when n=0 and m=0.
Output
If kiki wins the game printf "Wonderful!", else "What a pity!".
Sample Input
5 3 5 4 6 6 0 0
Sample Output
What a pity! Wonderful! Wonderful!
题解:画出PN图(对于Kiki来说,每一个必败点的前一步都是必胜点),由PN图即可得到规律,当n*m为偶数是Kiki必胜。
代码如下:
<span style="font-size:14px;">#include<cstdio> int main() { int n,m; while(scanf("%d%d",&n,&m)&&n||m) { if((n*m)%2) printf("What a pity!\n"); else printf("Wonderful!\n"); } return 0; } </span>
相关文章推荐
- python下的自动化测试--selenium 验证码输入问题
- Java面试题和解答(一)
- 个人项目之四则运算题目生成
- python mongodb scrapy例子
- Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程
- Android提示版本更新+notification显示下载进度
- 【任务学习之二】
- 第四周项目五(2)
- AS3.0的元素处理(二)-- TextField
- Android系统Recovery工作原理之使用update.zip升级过程分析(八)---解析并执行升级脚本updater-script
- Android 添加和删除桌面快捷方式
- 使用快递100网站提供接口查询物流
- WAS JMX 监视应用开发
- Android app优化总结
- Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数
- Android tp的虚拟按键处理
- Servlet过滤器详解
- Android 增量更新(BSDiff / bspatch)
- 静态方法
- scrapy生成json中文乱码解决