| ||||||||||
| 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 | |||||||||
呜……我好想死……已经在这道题上花了不下5个小时,还是WA……谁来救救我……#include <iostream.h>
#include <string.h>
void change(char n[],int count[]);
char number[16][80];
int main(){
char num[80];
int count[10];
int i,len;
cin>>num;
while(strcmp(num,"-1")!=0){
for(i=0;i<10;i++) count[i]=0;
len=strlen(num);
for(i=0;i<len;i++) count[num[i]-'0']++;
change(num, count);
cin>>num;
}
return 0;
}
void change(char n[],int count[]){
int i,j,k,t;
int len=strlen(n);
strcpy(number[0],n);
for(i=1;i<16;i++){
for(j=0,k=0;k<10;k++){
if(count[k]>=10){
number[i][j]=count[k]/10+'0';
number[i][++j]=count[k]%10+'0';
number[i][++j]=char (k+'0');
j++;
}
else
if(count[k]!=0){
number[i][j]=count[k]+'0';
number[i][++j]=(k+'0');
j++;
}
}
number[i][j]='\0';
if(strcmp(number[0],number[1])==0){
cout<<number[0]<<" is self-inventorying"<<endl;
break;}
else
if(strcmp(number[i-1],number[i])==0){
cout<<number[0]<<" self-inventorying after "<<i-1<<" steps"<<endl;
break;}
else {
for(t=0;t<i;t++)
if(strcmp(number[t],number[i])==0){
cout<<number[0]<<" enters an inventory loop of length "<<i-t<<endl;
break;
}
if(t<i) break;
}
len=strlen(number[i]);
for(t=0;t<10;t++) count[t]=0;
for(t=0;t<len;t++) count[number[i][t]-'0']++;
}
if(i>=16)
cout<<number[0]<<" can not be classified after 15 iterations"<<endl;
}
找出错误的大虾,感激不尽……
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator