PAT (Advanced Level) Practice 1112 Stucked Keyboard (20 分)

匿名 (未验证) 提交于 2019-12-02 23:00:14
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Nightmare_ak/article/details/84795238
#include<cstdio> #include<algorithm> #include<cstring> using namespace std;  const int N=1e3+5;  char s[N]; int in[N],vis[N];  int main() {     int k;scanf("%d",&k);     scanf("%s",s);     int len=strlen(s),p=0;     for(int i=0;i<len;i=p)     {         while(p<len&&s[p]==s[i]) p++;         if((p-i)%k!=0) vis[s[i]]=1;     }     for(int i=0;i<len;i++)         if(!vis[s[i]]&&!in[s[i]])             printf("%c",s[i]),in[s[i]]=1;     puts("");     p=0;     for(int i=0;i<len;i=p)     {         if(vis[s[i]])         {             printf("%c",s[i]);             p++;             continue;         }         while(p<len&&s[p]==s[i]) p++;         for(int j=1;j<=(p-i)/k;j++)             printf("%c",s[i]);     }     puts("");     return 0; } 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!