#include<stdio.h>
#include<string.h>
#define MAX_N 1100
int k;
char str[MAX_N];
bool map[256];
bool visited[256];
int main(){
scanf("%d",&k);
scanf("%s",str);
int count=1;
int len=strlen(str);
//if(len==1) map[str[0]]=true;
//if(len>1&&str[1]!=str[0]) map[str[0]]=true;
for(int i=1;i<=len;i++){
if(str[i]==str[i-1]){
count++;
}
if(str[i]!=str[i-1]){
if(count%k!=0){
map[str[i-1]]=true;
}
count=1;
}
}
for(int i=0;i<len;i++){
if(map[str[i]]==false&&!visited[str[i]]){
visited[str[i]]=true;
printf("%c",str[i]);
i=i+k-1;
}
}
printf("\n");
for(int i=0;i<len;i++){
printf("%c",str[i]);
if(map[str[i]]==false){
i=i+k-1;
}
}
}
1112. Stucked Keyboard (20) PAT甲级
最新推荐文章于 2021-04-19 15:40:20 发布
本文介绍了一种用于处理字符串的算法,该算法能够通过扫描输入字符串并根据特定条件筛选字符。主要功能包括标记出现次数不符合指定模数的字符,并跳过符合这些条件的字符,最后输出两种形式的结果:一种是在满足条件的情况下尽可能输出连续的字符;另一种是直接输出原始字符但跳过已标记的字符。
500

被折叠的 条评论
为什么被折叠?



