题目:删数问题 rqnoj257
题目描述
给定一个正整数(<=255位),从中删去n位后,使得剩下的数字组成的新数最小。
输入格式
第一行,要处理的正整数
第二行,一个整数n (n<255)
输出格式
仅一行,组成的最小的新数
样例输入
1027 3
样例输出
0
主要思想:删前面的,删大的
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;
}