PAT-1140(Look-and-say Sequence)字符串处理

Look-and-say Sequence

PAT-1140

#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cstdio>
#include<sstream>
using namespace std;
const int maxn=40;
int main(){
	int d,n;
	cin>>d>>n;
	char ch='0'+d;
	string now="";
	now+=ch;
	for(int i=1;i<n;i++){
		int len=now.length();
		int num=1;
		string tem="";
		for(int j=0;j<len-1;j++){
			if(now[j]==now[j+1]){
				num++;
			}else{
				tem+=now[j];
				stringstream ss;
				ss<<num;
				tem+=ss.str();
				num=1;
			}
		}
		tem+=now[len-1];
		stringstream ss;
		ss<<num;
		tem+=ss.str();
		now=tem;
	}
	cout<<now<<endl;
	return 0;
}
posted @ 2020-09-19 19:14  Garrett_Wale  阅读(102)  评论(0编辑  收藏  举报