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 |
求模几步就搞掂了,为何TLE?入来看看如何?//cipher //Time Limit Exceeded //20100125 #include<iostream> using namespace std; int arr[205],block; char c[205],coded[205],msg[205]; bool isSame() { for(int i=0;i<block;i++){ if(msg[i]!=coded[i]) return false; } return true; } int main() { int k,i,j,cnt; while(scanf("%d",&block)&&block){ for(i=0;i<block;i++) scanf("%d",arr+i); while(scanf("%d",&k)&&k) { scanf(" "); gets(c); int len=strlen(c); for(i=0;i<block;i++) coded[i]=' '; for(i=len;i<block;i++) c[i]=' '; strcpy(msg,c); cnt=0; if(k>0){ for(j=0;j<k;j++) { cnt++; for(i=0;i<block;i++) coded[arr[i]-1]=c[i]; if(isSame()){ k%=cnt; break; } else{ for(i=0;i<block;i++) c[i]=coded[i]; } } } if(cnt) strcpy(c,msg); //cout<<k<<" "<<cnt<<endl; for(j=0;j<k;j++) { for(i=0;i<block;i++) coded[arr[i]-1]=c[i]; for(i=0;i<block;i++) c[i]=coded[i]; } for(i=0;i<block;i++) printf("%c",coded[i]); printf("\n"); } } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator