【贪心】删数问题

来源:互联网 发布:理财模拟软件 编辑:程序博客网 时间:2024/04/24 14:26

题目:删数问题 rqnoj257

题目描述

给定一个正整数(<=255位),从中删去n位后,使得剩下的数字组成的新数最小。

输入格式

第一行,要处理的正整数
第二行,一个整数n (n<255)

输出格式

仅一行,组成的最小的新数

样例输入

样例输出

 

主要思想:删前面的,删大的

C++ Code

#include<iostream>#include<cstring>#include<string>using namespace std;int n;string s;int main(){  freopen("rqn257.in","r",stdin);  freopen("rqn257.out","w",stdout);  getline(cin,s);  int len=s.length();  cin>>n;  int i,j;  for(i=1;i<=n;i++)  {    j=0;    while(j<len && s[j]<=s[j+1]) j++;    s.erase(j,1);    while(s[0]=='0')s.erase(0,1);  }  if(s=="")cout<<'0';  else cout<<s;  return 0;}