The 18th Zhejiang Provincial Collegiate Programming Contest L.String Freshman(KMP)

 

const int N=2e5+5;

    int n,m,_;
    int i,j,k;
    char a[N];
    int f[N];

void getfail(char *s)
{
    f[0]=f[1]=0;
    int len=strlen(s);
    for(int i=1;i<len;i++){
        int j=f[i];
        while(j && s[i]!=s[j]) j=f[j];
        if(s[i]==s[j]) f[i+1]=j+1;
        else f[i+1]=0;
    }
}

int main()
{
    while(~sd(n)){
        ss(a+1);
        getfail(a+1);
        if(n==1){ puts("Correct"); continue; }
        int ans=0;
        for(int i=1;a[i];i++) if(f[i]) ans=1;
        if(ans) puts("Wrong Answer");
        else puts("Correct");
    }
    //PAUSE;
    return 0;
}

 

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页