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;
}

全部评论

相关推荐

notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务