代碼:
#include#include using namespace std; char a[100005]; int next[100005]; int LCPS[100005]; int n,m; void GetLCPS() { int j=0; int k=-1; int len=strlen(a); next[0]=-1; while(j =0) k=LCPS[k-1]; else k=-1; } } } int main() { int t; scanf(%d,&t); while(t--) { //scanf(%s,b); scanf(%s,a); GetLCPS(); int len=strlen(a); int cir=len-next[len]; if(cir==1) { printf(0 ); continue; } int r=len%cir; if(len==cir) { printf(%d ,cir); continue; } if(r==0) { printf(0 ); continue; } printf(%d ,cir-r); } return 0; }