hdu 1846 Brave Game(博弈)

简单博弈,懂得SG函数就能A

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
  int n,m,sg[1003],h[1003];
  scanf("%d",&m);
  while(m--)
  {
    int i,j,k;
    scanf("%d%d",&n,&k);
    for(i=0;i<1002;i++)
    { memset(h,0,sizeof(h));
      for(j=1;j<=k;j++)
      {
        if(i-j>=0)h[sg[i-j]]=1;
      }
      for(j=0;j<1002;j++)
      {
        if(h[j]==0)
        {sg[i]=j;break;}
      }
    }
    if(sg[n])
    printf("first\n");
    else
    printf("second\n");
  }
}


 

你可能感兴趣的:(hdu 1846 Brave Game(博弈))