#1452. 珅泽教育CSP-J第一轮模拟考第一套 第 26 题

珅泽教育CSP-J第一轮模拟考第一套 第 26 题

第2篇

#include<iostream>

int main()
{
    int d;
    std::cin >> d;
    char s[1000];
    int size = 0;
    char c;
    while (std::cin >> c){
        while (size > 0 and d > 0){
            char top = s[size - 1];
            if (top < c){
                d--;
                size--;
            }
            else{
                break;
            }
        }
        s[size++] = c;
    }
    while (d > 0){
        d--;
        size--;
    }
    for (int i = 0; i < size; ++i) {
        std::cout << s[i];
    }
}

这段程序的功能是移除输入的 dd 个字符,使得剩余字符串( )。

{{ select(1) }}

  • 字典序下最小
  • 字典序下最大
  • 不同的字符最多
  • 下降子序列最长