#include<iostream>
#include<string>
#include<cstring>
using namespace std;
string input;
string temp;
string output;
int visit[10];
string HH[16];
int Loop(int k,string s){
int i;
for(i=0;i<k;i++)
if(HH[i]==s)
return i;
}
return -1;
}
int main(){
inti,j,k;
while(1){
cin>>input;
if(input=="-1")
break;
temp=input;
HH[0]=input;
for(k=1;k<=15;k++){
memset(visit,0,sizeof(visit));
output="";
i=0;
while(temp[i]!='\0'){
visit[temp[i]-'0']++;
i++;
}
for(j=0;j<10;j++){
char v='0'+j;
if(visit[j]>=10){
chart1='0'+visit[j]/10;
chart2='0'+visit[j]%10;
output=output+t1+t2+v;
}
else if(visit[j]>0){
chart3='0'+visit[j];
output=output+t3+v;
}
}
HH[k]=output;
if(output==temp&&k==1){
cout<<input<<" is self-inventorying"<<endl;
break;
}
else if(output==temp&&k!=1){
cout<<input<<" is self-inventorying after "<<k-1<<"steps"<<endl;
break;
}
else if(Loop(k,output)>=0){
cout<<input<<" enters an inventory loop of length "<<k-Loop(k,output)<<endl;
break;
}
else{
temp=output;
}
}
if(k>15){
cout<<input<<" can not be classified after 15 iterations"<<endl;
}
}
return0;
}
poj-1016
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- poj 2774求兩個字符串的最長公共子串,可以二分長度,把A串中長度為mid的子串的hash值存入hash ta...
- 這道題我都第一反應(yīng)就是HDU的一道題叫非??蓸?所以就模仿著敲了,但是有個難點就是要正著輸出操作步驟,哇,這個卡了...
- POJ 1611 - The Suspects Severe acute respiratory syndrome...