提交时间:2022-04-12 15:21:59

运行 ID: 48404

#include <bits/stdc++.h> using namespace std; char t[1000005]; int n[1000005],x; void Init(){ for(int i=2,j=0;i<=x;i++){ while(j&&t[j+1]!=t[i]) j=n[j]; j+=(t[j+1]==t[i]); n[i]=j; } } int main(){ cin>>x>>(t+1); Init(); printf("%d\n",x-n[x]); return 0; }