问题描述:给定一个数字,然后统计这个数字(串)中数字连续出现的次数,并组成新的数字串。迭代下去。
解题思路:蛮力算法,一个个的统计,然后转换新的字符串;
AC代码:
/*1140 Look-and-say Sequence (20 分)
*蛮力算法,一个个的统计,然后转换新的字符串;
*/
#include<iostream>
#include<string>
using namespace std;
string counts(string &str)
{
string s="";
int i,j,n=str.length();
for(i=0;i<n;++i){
j=1;
while(i+1<n&&str[i]==str[i+1])++i,++j;
s+=str[i];
s+=j+'0';//j不可能大于9,j的最大值?????
}
return s;
}
int main()
{
freopen("test.txt","r",stdin);
string str;
int N;
cin>>str>>N;
while(--N){
//cout<<str<<"\n";
str=counts(str);
}
cout<<str;
return 0;
}