pat 乙级1084 外观数列

题目:

 

 

思路:

1.题目含义

1 一个一

11 表示上面的1个1 现在代表两个1

12 

1121 表示1有2个,2有1个,1有1个

122111 表示1有1个,2有两个,1有3个

112213

 以此类推

代码如下:

#include <iostream>     
#include<cstring> 
using namespace std;
int main ()
{ 
 string s,t;
 int n,j;
 cin>>s>>n;
  for(int c=1;c<n;c++){
      string t;
      for(int i=0;i<s.size();i=j) 
      { j=s.find_first_not_of(s[i],i+1);
          if(j==-1)
          j=s.size();
          t+=s[i]+to_string(j-i);
      }
      s=t;
  }
  cout<<s;
  return 0;
}
//1 8
//1
//11
//12
//1121
//122111
//112213
//12221131
//1123123111

 

posted @ 2020-08-05 23:05  miao-xixixi  阅读(129)  评论(0编辑  收藏  举报