PAT甲级 1140 Look-and-say Sequence 字符串处理

PAT甲级 1140 Look-and-say Sequence 字符串处理_第1张图片
题解:
其实就是统计连续的相同数字出现次数,然后转化为该数字后面跟上次数的格式
需要注意
1.题目给你的那个初试d就是第一次,因此对于题目中给的N次处理,实际上是n-1次
2.字符串更新时,string+=char+char的形式是错误的,应分两步进行或者改为string+=char+string的形式

#include
#include
using namespace std;
int main()
{
	int n;
	string d;
	cin>>d>>n;
	for(int i=1;i<n;i++)
	{
		string temp;
		for(int i=0,j;i<d.size();i=j)
		{
			int cnt=1; 
			for(j=i+1;j<d.size();j++)//往后找有几个相同字符 
			{
				if(d[j]==d[i])cnt++;
				else break;
			} 
			temp+=d[i]+to_string(cnt);
		}
		d=temp;
	}
	cout<<d<<endl; 
	return 0;
}

你可能感兴趣的:(PAT甲级)