Description
There are two seagulls playing a very peculiar game. First they line up N unit squares in a line, all originally colored white.
Let L be the length of the longest continuous sub-segment of white unit squares. Let P be any prime that satisfies the condition that . The player can choose any P if it satisfies the conditions but if there is no value of P that does, then P is set to 1.
The current player then proceeds to choose any continuous sub-segment of white unit squares of length P and paint them black. The player who can’t make a move loses.
If both players play optimally and the first player starts, which player is going to win the game?
Input
The first line of input is T – the number of test cases.
Each test case contains a line with a single integer N (1 ≤ N ≤ 107).
Output
For each test case, output on a single line "first" (without quotes) if the first player would win the game, or "second" if the second would win.
Sample Input
2 2 5
Sample Output
second
first
题解:对称博弈原理,2,3特判一下。
代码去下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <vector>
#include <algorithm>
#include <cmath>
#define mem(a,b) memset(a,b,sizeof(a))
#define For(a,b) for(int a=1;a<=b;a++)
using namespace std;
const int maxn = 1e7+5;
const double Pi = acos(-1);
const int INF = 0x3f3f3f3f;
typedef long long ll;
const int MAXN = 1e7;
int main()
{
int t,n;
cin >> t;
while(t--){
scanf("%d",&n);
printf((n!=2&&n!=3)?"first\n":"second\n");
}
return 0;
}