SG函数

#include"iostream"
#include"string.h"
using namespace std;
const int maxn=1e3;
int f[maxn],SG[maxn],S[maxn];
void getSG(int N,int fN)
{
    for(int i=1;i<=N;i++)
    {
        memset(S,0,sizeof(S));
        for(int j=0;i>=f[j]&&j<fN;j++)
        {
            S[SG[i-f[j]]]=1; 
        }
        for(int j=0;;j++)
        {
            if(S[j]==0)
            {
                SG[i]=j;
                break;
            }
        }
    }
}
int main()
{
    f[0]=1;
    f[1]=3;
    f[2]=4;
    getSG(100,3);
    for(int i=0;i<=99;i++)cout<<SG[i]<<" ";
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务