Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
119123 | 陈家宝 | 【模拟赛3】无限复制 ZBN 是 MJ ? | C++ | 通过 | 100 | 0 MS | 356 KB | 447 | 2024-01-04 13:04:50 |
#include <bits/stdc++.h> using namespace std; const int MAXN=1000010; int n,Next[MAXN]; char s[MAXN]; void change(int m,char*t) { Next[1]=0; for(int i=2,j=0;i<=m;i++){ while(j>0&&t[i]!=t[j+1]) j=Next[j]; if(t[i]==t[j+1])j++; Next[i]=j; } } int main() { cin>>n>>s+1; change(n,s); for(int i=n;i>=1;i--){ if(!Next[i]){ cout<<i; break; } } return 0; }