A1112 Stucked Keyboard (20)
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstring>
using namespace std;
const int maxk = 1300;
const int maxn = 300;
int K;
char s1[maxk], s2[maxk];
bool isStucked[maxn] = {false};
bool isStucked2[maxn];
vector<char> ans;
int main(){
for(int i=0; i<maxn; i++) isStucked2[i] = true;
scanf("%d", &K);
scanf("%s", s1);
int len1 = strlen(s1);
int cnt; char nowc;
for(int i=0; i<len1; ){
cnt = 0; nowc = s1[i];
do{
cnt++;
i++;
} while (nowc == s1[i]);
if(cnt%K == 0) {
if(isStucked[nowc] == false && isStucked2[nowc] == true) {
isStucked[nowc] = true;
ans.push_back(nowc);
}
} else {
isStucked2[nowc] = false;
}
}
for(int i=0; i<ans.size(); i++) {
nowc = ans[i];
if(isStucked[nowc] == true && isStucked2[nowc] == true) printf("%c", nowc);
} printf("\n");
for(int i=0; i<len1; i++){
nowc = s1[i];
if(isStucked[nowc] == false || isStucked2[nowc] == false) printf("%c", s1[i]);
else {
printf("%c", s1[i]); i += K-1;
}
} printf("\n");
return 0;
}