删数3
题目描述
键盘输入一个高精度的正整数 N (N≤240) ,去掉其中任意 s 个数字后剩下的数字按原左右次序将组成一个新的正整数。
编程对给定的N和S,寻找一种方案,使得剩下的数字组成的新数最大。
我们通过举一个例子来看下,N=178543,S=4 的情况删数字的过程如下:
178543
->78543
->8543
->854
->85
输入格式
第一行:一个 N (N≤240) 位的正整数 X 。
第二行:一个正整数 S ,表示要删除的位数。
输出格式
输出一个正整数,为删数后的结果。
样例 #1
样例输入 #1
1234567
4
样例输出 #1
567
代码如下:
#include <bits/stdc++.h>
using namespace std;
string s;
int main()
{
int t;
cin>>s>>t;
while(t--)
{
int n=s.size(),fla=1;
for(int j=0;j<n;j++)
{
if(s[j]<s[j+1])
{
s.erase(j,1);
fla=0;
break;
}
}
if(fla)
{
s.erase(n-1,1);
}
}
cout<<s;
return 0;
}