SG函数

只扔个板子吧 :

void get_sg(int n)
{
    memset(sg,0,sizeof(sg));
    for(int i=1;i<=n;i++)
    {
        memset(S,0,sizeof(S));
        for(int j=1;f[j]<=i&&j<=m;j++)
        {
            S[sg[i-f[j]]]=1;    
        }
        for(int k=0;k<=n;k++)
        {
            if(!S[k]) 
            {
                sg[i]=k;
                break;
            }
        }   
    }
}

你可能感兴趣的:(SG函数)