#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
int K;
string str;
vector<char>ans1;
vector<char>ansf;
unordered_map<char, int>mp;
unordered_map<char, int>mpnot;
int main()
{
scanf("%d", &K);
cin >> str;
int count = 1;
char last = str[0];
for (int i = 1; i < str.length(); i++)//错误原因:最后一个如果和之前想等就啥也没干
{
if (str[i] == last)
{
count++;
}
else
{
if (count % K == 0)
{
if (mp[last] == 0&&mpnot[last]==0)
{
mp[last] = 1;
ans1.push_back(last);
}
}
else
{
mpnot[last] = 1;
}
count = 1;
last = str[i];
}
}
if (count % K == 0)
{
if (mp[last] == 0 && mpnot[last] == 0)
{
mp[last] = 1;
ans1.push_back(last);
}
}
else
{
mpnot[last] = 1;
}
for (int i = 0; i < ans1.size(); i++)
{
if (mpnot[ans1[i]]==0)
{
ansf.push_back(ans1[i]);
}
}
for (int i = 0; i < ansf.size(); i++)
{
for (int j = 0; j < str.length(); j++)
{
if (str[j] == ansf[i])
{
str = str.substr(0, j+1) + str.substr(j + K, str.length()-(j+K));
}
}
}
if (ansf.size())
{
for (int i = 0; i < ansf.size(); i++)
{
printf("%c", ansf[i]);
}
}
printf("\n");
cout << str;
}```
这里面有我的一个思维漏洞,就是到最后的时候出来最后一个位置的字符应该怎么办
1112 Stucked Keyboard (20 分)
最新推荐文章于 2022-02-27 23:16:57 发布