提交时间:2022-07-13 11:52:56

运行 ID: 51565

#include<bits/stdc++.h> using namespace std; const int N=3005; int n,k,t,tot; char w[N]; struct XYH{ int num; char c; }p[N]; map<char,int> mp; int main(){ //freopen() //freopen() scanf("%d%d%d",&n,&k,&t); scanf("%s",w); for(register int i=0;i<n;i++){ if(w[i]!=w[i-1]||i==0){ p[++tot].num++,p[tot].c=w[i]; } if(w[i]==w[i-1]) p[tot].num++; } for(register int i=0;i<k;i++){ char now='a'+i; int len=0,ll=0,flag=0; for(register int j=1;j<=tot;j++){ if(p[j].c==now&&flag){ len+=ll,ll=0; continue; } else if(p[j].c==now) flag=1,ll=0; else ll+=p[j].num; } mp[now]=len; } printf("%d\n",n); if(t==1||t==2) cout<<w<<endl; return 0; }