HDU 3951 Coin Game(博弈)
来源:互联网 发布:mac 蓝牙鼠标漂移 编辑:程序博客网 时间:2024/05/29 19:36
Coin Game
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2000 Accepted Submission(s): 1119
Problem Description
After hh has learned how to play Nim game, he begins to try another coin game which seems much easier.
The game goes like this:
Two players start the game with a circle of n coins.
They take coins from the circle in turn and every time they could take 1~K continuous coins.
(imagining that ten coins numbered from 1 to 10 and K equal to 3, since 1 and 10 are continuous, you could take away the continuous 10 , 1 , 2 , but if 2 was taken away, you couldn't take 1, 3, 4, because 1 and 3 aren't continuous)
The player who takes the last coin wins the game.
Suppose that those two players always take the best moves and never make mistakes.
Your job is to find out who will definitely win the game.
The game goes like this:
Two players start the game with a circle of n coins.
They take coins from the circle in turn and every time they could take 1~K continuous coins.
(imagining that ten coins numbered from 1 to 10 and K equal to 3, since 1 and 10 are continuous, you could take away the continuous 10 , 1 , 2 , but if 2 was taken away, you couldn't take 1, 3, 4, because 1 and 3 aren't continuous)
The player who takes the last coin wins the game.
Suppose that those two players always take the best moves and never make mistakes.
Your job is to find out who will definitely win the game.
Input
The first line is a number T(1<=T<=100), represents the number of case. The next T blocks follow each indicates a case.
Each case contains two integers N(3<=N<=109,1<=K<=10).
Each case contains two integers N(3<=N<=109,1<=K<=10).
Output
For each case, output the number of case and the winner "first" or "second".(as shown in the sample output)
Sample Input
23 13 2
Sample Output
Case 1: firstCase 2: second
Author
NotOnlySuccess
Source
2011 Alibaba Programming Contest
Recommend
lcy
最优策略:当 k > 1 时,后手只需拿走先手对面的一到两枚硬币(如图),使左右两边硬币数相等,则必胜。
#include<bits/stdc++.h>using namespace std;int main(){ int t,p=1; scanf("%d",&t); while(t--) { int n,k; scanf("%d%d",&n,&k); printf("Case %d: ",p++); if(k==1) { if(n&1) printf("first\n"); else printf("second\n"); } else if(k>=n) printf("first\n"); else printf("second\n"); }}
0 0
- JAVA hdu 3951 Coin Game(博弈)
- HDU 3951 Coin Game (博弈)
- HDU 3951 Coin Game(博弈)
- HDU 3951 Coin Game (博弈)
- hdu 3951 Coin Game(对称博弈)
- HDU 3951 Coin Game(博弈)
- hdu 3951 博弈 Coin Game
- hdu 3951 Coin Game (博弈创建对称局势)
- HDU 3951 Coin Game(博弈水题)
- HDU 3951 Coin Game 简单博弈
- Hdu 3951 Coin Game【对称博弈】
- HDOJ 题目3951Coin Game(博弈)
- HDU 3951 Coin Game(博弈取对称思路)
- 博弈论 (简单博弈分析)——Coin Game ( HDU 3951 )
- HDOJ 3951 Coin Game 博弈
- 对称博弈(coin game)
- HDU 3951 Coin Game
- HDU:3951 Coin Game
- 7805(一)
- 操作系统面试题总结
- 使用Vue.js制作仿Metronic高级表格(一)静态设计
- java 泛型详解
- SqlSugar框架T4模板的使用
- HDU 3951 Coin Game(博弈)
- 剑指offer 翻转单词顺序列
- 论文笔记:Two-level attention model for fine-grained Image classification
- 打包后崩溃要注意的小坑
- 十大基础实用算法补全——二分查找(BinSearch)
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方案
- @RequestBody, @ResponseBody 注解详解
- Java实现冒泡排序
- 数据库水平分表