提交时间:2022-02-24 22:28:05

运行 ID: 45856

#include <bits/stdc++.h> using namespace std; const int MAXN=100010; int n,Next[MAXN]; char s[MAXN],t[MAXN]; void Init(int m) { 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() { scanf("%d%s",&n,t+1); Init(n); cout<<n-Next[n]; return 0; }