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 |
hawk,能不能帮我看看,我的问题到底在哪?我自己也造了一些数据进行测试,结果都是对的呀,为什么就是不能ac?#include<stdio.h> #include<iostream.h> #include<string.h> char n[81],a[16][81]; int cop[10],inv[30]; void inventory(char *ar,char *br) { int i,j,k,len; for(i=0;i<10;i++) cop[i]=0; for(i=0;i<30;i++) inv[i]=0; j=0; while(ar[j]!='\0') { cop[ar[j]-'0']++; j++; } j=0; for(k=0;k<10;k++) if(cop[k]==0) continue; else { if(cop[k]<10) { inv[j]=cop[k]; inv[j+1]=k; j+=2; } else { inv[j]=cop[k]/10; inv[j+1]=cop[k]%10; inv[j+2]=k; j+=3; } } len=j; for(j=0;j<len;j++) br[j]=inv[j]+'0'; } void count() { int i,j,step,loop; i=0; while(i<15) { inventory(a[i],a[i+1]); if(strcmp(a[i+1],a[i])==0) if(!i) { cout<<a[0]<<" is self-inventorying "<<endl; break; } else { step=i; cout<<a[0]<<" is self-inventorying after "<<step<<" steps "<<endl; break; } else { for(j=0;j<i;j++) if(strcmp(a[i+1],a[j])==0) { loop=i+1-j; cout<<a[0]<<" enters an inventory loop of length "<<loop<<' '<<endl; goto aa; } else continue; } i++; } aa: if(i==15) cout<<a[0]<<" can not be classified after 15 iterations "<<endl; } int main() { int i,j,len=0; n[0]=getchar(); while(n[0]!='-'&&n[0]!='0') { for(i=0;i<81;i++) { if(n[i]==' ') { i--; n[i+1]=getchar(); continue; } else if(n[i]=='\n') { break; } else { cop[n[i]-'0']++; n[i+1]=getchar(); } } len=i; for(i=0;i<len;i++) a[0][i]=n[i]; count(); for(i=0;i<15;i++) for(j=0;j<81;j++) a[i][j]=NULL; n[0]=getchar(); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator