hdu 3746 Cyclic Nacklace(求最少添加几个字符使得字符串是由n(n)=2)个循环节组成的)

2015-11-21 00:56:01 · 作者: · 浏览: 4

代码:

?

#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; } 
    
   
  


?

?