链接
题意有点迷,就是字符串是:[数字1][数字1的个数][数字2][数字2的个数]组成
to_string(val)
将数值转字符串#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
int m;
cin>>s>>m;
m--;
while(m--){
int len = s.length();
string t;
int cnt = 0;
for(int i=0;i<len;i++){
t += s[i];
cnt++;
for(int j=i+1; j<len; j++){
if(s[i] != s[j]){
i = j-1;
break;
}
cnt++;
if(j+1 == len){
i = j;
break;
}
}
t += to_string(cnt);
cnt = 0;
}
s = t;
}
cout<<s<<endl;
}
更好的写法
#include <iostream>
using namespace std;
int main() {
string s;
int n, j;
cin >> s >> n;
for (int cnt = 1; cnt < n; cnt++) {
string t;
for (int i = 0; i < s.length(); i = j) {
for (j = i; j < s.length() && s[j] == s[i]; j++);
t += s[i] + to_string(j - i);
}
s = t;
}
cout << s;
return 0;
}
PAT A1140 Look-and-say Sequence [字符串处理]
原文:https://www.cnblogs.com/doragd/p/11448859.html