UVa11491 - Erasing and Winning

来源:互联网 发布:知锦教育龙腾 编辑:程序博客网 时间:2024/06/05 12:48

找最大的数嘛

位数优先

然后首位优先

#include<bits/stdc++.h>using namespace std;vector<char>s;int main(){    int n,d;    while(~scanf("%d%d",&n,&d)&&n){        int len=n-d;        s.clear(),getchar();        for(int i=0;i<n;i++){            char c=getchar();            if(s.size()>0){                int p=(int)s.size()-1;                while(d&&c>s[p]&&p>=0){                    s.erase(s.begin()+p--);                    --d;                }            }            if(s.size()!=len) s.push_back(c);            else --d;        }        for(int i=0;i<s.size();++i) putchar(s[i]);        printf("\n");    }    return 0;}


0 0