题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1846
题意:中文题
解析:可以从先手的必败态推到下一个状态,如果只有0个石头,那么肯定是必败态,然后一个石头就可以从从0这个状态往前推一个变成必胜态,以此类推
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
int win[maxn];
int main(void)
{
int c,n,m;
scanf("%d",&c);
while(c--)
{
memset(win,0,sizeof(win));
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(j<=i)
win[i] |= !win[i-j];
}
}
if(win[n])
puts("first");
else
puts("second");
}
return 0;
}