题意:给了n和m,然后输入一个长度为n的字符串,然后有m次操作,从字符串中依次按abcd...的顺序删除字符,最后输出m次操作后的字符串。
感觉写法十分巧妙,用两个for循环,外面的循环用来标记26个英文字母,里面的循环用来遍历字符串,然后就是按照题意那样删除字符了。
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,m;
string str;
int main()
{
cin>>n>>m;
cin>>str;
for(int i=0;i<=25;i++){
for(int j=0;j<n&&m;j++){
if(str[j] == 'a' + i){
str[j] = '0';
m--;
}
}
}
for(int i=0;i<n;i++){
if(str[i] != '0')cout<<str[i];
}
return 0;
}