| ||||||||||
| 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 | |||||||||
一开始把题目意思理解错了,后来发现其实相当简单的一道题,一次就AC了#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
int array[10];
char tt[100];
struct strings
{
char s[100];
};
int judge(char ss[],struct strings str[],int count)
{
int i,j;
for(i=0; ss[i]!=0; i++)
{
if(ss[i]=='0') array[0]++;
else if(ss[i]=='1') array[1]++;
else if(ss[i]=='2') array[2]++;
else if(ss[i]=='3') array[3]++;
else if(ss[i]=='4') array[4]++;
else if(ss[i]=='5') array[5]++;
else if(ss[i]=='6') array[6]++;
else if(ss[i]=='7') array[7]++;
else if(ss[i]=='8') array[8]++;
else if(ss[i]=='9') array[9]++;
}
for(i=0,j=0; i<=9; i++)
{
if(array[i]>=10)
{
tt[j]=array[i]/10+'0';
tt[j+1]=array[i]%10+'0';
tt[j+2]=i+'0';
j=j+3;
}
else if(array[i]>0)
{
tt[j]=array[i]+'0';
tt[j+1]=i+'0';
j=j+2;
}
array[i]=0;
}
if(strcmp(tt,ss)==0) return 0;
for(i=1; i<count; i++)
{
if(strcmp(tt,str[i].s)==0)
return i;
}
memset(ss,0,sizeof(ss));
strcpy(ss,tt);
memset(tt,0,sizeof(tt));
return -1;
}
int main()
{
struct strings str[20];
char ss[100];
bool flag;
int i,j,count,step_1,step_2;
while(cin>>ss)
{
count=0;
step_2=1;
flag=false;
if(strcmp(ss,"-1")==0) break;
strcpy(str[count++].s,ss);
while(step_2<=15)
{
step_1=judge(ss,str,count);
if(step_1==0)
{
for(i=0; str[0].s[i]!=0; i++)
cout<<str[0].s[i];
cout<<" is self-inventorying";
if(step_2>1)
cout<<" after "<<step_2-step_1-1<<" steps";
cout<<endl;
flag=true;
break;
}
else if(step_1>=1)
{
for(i=0; str[0].s[i]!=0; i++)
cout<<str[0].s[i];
cout<<" enters an inventory loop of length "<<step_2-step_1<<endl;
flag=true;
break;
}
else
strcpy(str[count++].s,ss);
step_2++;
}
if(!flag)
{
for(i=0; str[0].s[i]!=0; i++)
cout<<str[0].s[i];
cout<<" can not be classified after 15 iterations"<<endl;
}
for(i=0; i<count; i++)
memset(str[i].s,0,sizeof(str[i].s));
memset(ss,0,sizeof(ss));
memset(tt,0,sizeof(tt));
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator