CodeForces 999C Alphabetic Removals(思维)


题意:给了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;
}

猜你喜欢

转载自blog.csdn.net/charles_zaqdt/article/details/80777166