Play a game
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3394 Accepted Submission(s): 2758
Problem Description
New Year is Coming!
ailyanlu is very happy today! and he is playing a chessboard game with 8600.
The size of the chessboard is n*n. A stone is placed in a corner square. They play alternatively with 8600 having the first move. Each time, player is allowed to move the stone to an unvisited neighbor square horizontally or vertically. The one who can't make a move will lose the game. If both play perfectly, who will win the game?
ailyanlu is very happy today! and he is playing a chessboard game with 8600.
The size of the chessboard is n*n. A stone is placed in a corner square. They play alternatively with 8600 having the first move. Each time, player is allowed to move the stone to an unvisited neighbor square horizontally or vertically. The one who can't make a move will lose the game. If both play perfectly, who will win the game?
Input
The input is a sequence of positive integers each in a separate line.
The integers are between 1 and 10000, inclusive,(means 1 <= n <= 10000) indicating the size of the chessboard. The end of the input is indicated by a zero.
The integers are between 1 and 10000, inclusive,(means 1 <= n <= 10000) indicating the size of the chessboard. The end of the input is indicated by a zero.
Output
Output the winner ("8600" or "ailyanlu") for each input line except the last zero.
No other characters should be inserted in the output.
No other characters should be inserted in the output.
Sample Input
20
Sample Output
8600
Author
ailyanlu
Source
Recommend
题解:
网上说到了本题的一个精髓:格子是总会走完的,所以我们只需判断格子数的奇偶性即可。
代码:
#include<bits/stdc++.h>
using namespace std;
int t1,n,m;
int main(){
scanf("%d",&t1);
while(t1){
t1--;
scanf("%d%d",&n,&m);
if(n<=m)printf("first\n");
else if(n%(m+1)==0)printf("second\n");
else printf("first\n");
}
}