poj-1016

#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;

}
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • poj 2774求兩個字符串的最長公共子串,可以二分長度,把A串中長度為mid的子串的hash值存入hash ta...
    Out_Of_Cage閱讀 559評論 0 0
  • 題目鏈接:http://poj.org/problem?id=1598技巧:句子中單詞的查找??梢酝ㄟ^替換掉不是字...
    希崽家的小哲閱讀 208評論 0 1
  • POJ 1700 題意 n個人要過河,一次只能同時兩個人過河,兩個人過河的時間取決于慢的一個。求最快的過河的時間 ...
    vanadia閱讀 207評論 0 0
  • 這道題我都第一反應(yīng)就是HDU的一道題叫非??蓸?所以就模仿著敲了,但是有個難點就是要正著輸出操作步驟,哇,這個卡了...
    Anxdada閱讀 357評論 0 0
  • POJ 1611 - The Suspects Severe acute respiratory syndrome...
    passwd_閱讀 370評論 0 0

友情鏈接更多精彩內(nèi)容