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 |
救命#include<iostream.h> #include<string.h> #include<stdlib.h> void main() { char p[81]; char temp[31],check[81],fuck[16][81]; int i,j,l,total,step,length; char bb[3]={"-1"}; int num[10]; AD: while(1) { cin.getline(p,81); if(strcmp(p,bb)==0)exit(0); strcpy(check,p); step=0,length=0,l=-1; ED: for(i=0;i<10;i++) num[i]=0; for(i=0;i<strlen(check);i++) { switch(check[i]) { case '0':num[0]++;break; case '1':num[1]++;break; case '2':num[2]++;break; case '3':num[3]++;break; case '4':num[4]++;break; case '5':num[5]++;break; case '6':num[6]++;break; case '7':num[7]++;break; case '8':num[8]++;break; case '9':num[9]++;break; } }; for(i=0;i<10;i++)total+=num[i]; j=0; for(i=0;i<10;i++) { if(num[i]!=0) { if(num[i]<10) { temp[j]=num[i]+'0'; temp[j+1]=i+'0'; j=j+2; }else { temp[j]=num[i]/10+'0'; temp[j+1]=num[i]%10+'0'; temp[j+2]=i+'0'; j=j+3; }; } } temp[j]='\0'; step++; length++; l++; strcpy(fuck[l],temp); if(strcmp(temp,check)==0) { if(step==1) cout<<p<<" is self-inventorying\n"; else if(step>1&&step<16)cout<<p<<" is self-inventorying after "<<step-1<<" steps\n"; if(step>=16)cout<<" can not be classified after 15 iterations\n"; } else { for(i=0;i<l;i++) { if(strcmp(fuck[i],temp)==0&&strcmp(fuck[i],check)!=0) { cout<<p<<" enters an inventory loop of length "<<length-i-1<<endl; goto AD; } } strcpy(check,temp); goto ED; }; } //cout<<temp<<endl; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator