Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:求错误!!!!!!!!!一直WA!In Reply To:求错误!!!!!!!!!一直WA! Posted by:326775408 at 2011-03-22 18:11:59 > #include<iostream> > #include<cmath> > #include<string.h> > #include<queue> > using namespace std; > char s[600010]; > int next[600010]; > int a[600010]; > int main() > {//poj2752 > while(cin>>s+1) > { > int i,j; > memset(a,0,sizeof(a)); > memset(next,0,sizeof(next)); > int flag=0; > s[0]='0'; > int len=strlen(s); > len=len-1; > next[1]=0; > for(i=2;i<=len;i++)//得到next数组 > { > if(flag>0&&s[flag+1]!=s[i]) > flag=next[flag]; > if(s[flag+1]==s[i]) > flag++; > next[i]=flag;//cout<<flag<<" "; > } > j=0; > a[j++]=len; > i=len; > while (1) > { > if(next[i]<=0) > break; > a[j++]=next[i]; > i=next[i]; > } > for(i=j-1;i>=0;i--) > cout<<a[i]<<" "; > cout<<endl; > } > return 0; > } len=strlen(s+1) Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator