题目
1122: 取石子游戏II
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 367 Solved: 203
[Submit][Status][Web Board]
Description
一堆石子有n个,两人轮流取.每次取最少取1个,最多取m个。取完者胜.先取者负输出"Second win".先取者胜输出"First win"
Input
多组测试数据。
每组测试数据包含2个正整数n,m。(n,m<=10000000)
Output
对于每组测试数据,输出谁获胜.
Sample Input
2 1
3 2
3 1
Sample Output
Second win
Second win
First win
AC代码
一个公式就完事了
只需判断n % (m+1).若等于零,后者胜利,其余先手胜利。
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n % (m + 1) == 0)
printf("Second win\n");
else
printf("First win\n");
}
return 0;
}