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 |
求错误!!!!!!!!!一直WA!#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; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator