1084 外观数列
题目链接-1084 外观数列
解题思路
- 第
n+1
项是对第n
项的描述,即遍历前一项,数出连续的某个字符c
有几个 - 比如第
n
项连续的字符c
有cnt
个,那么n+1
项中对其描述就是c
+cnt
- 具体操作见代码
附上代码
#include<bits/stdc++.h>
#define lowbit(x) (x &(-x))
using namespace std;
const int INF=0x3f3f3f3f;
const int dir[4][2]={-1,0,1,0,0,-1,0,1};
const double PI=acos(-1.0);
const double eps=1e-10;
const int M=1e9+7;
const int N=1e5+5;
typedef long long ll;
typedef pair<int,int> PII;
string s;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int n,j;
cin>>s>>n;
while(--n){
string t;
for(int i=0;i<s.length();i=j){
for(j=i;j<s.length()&&s[i]==s[j];j++);//用来作计数
t+=s[i]+to_string(j-i);//j-i即是s[i]的数目cnt
}
s=t;
}
cout<<s;
return 0;
}