题目描述
键盘输入一个高精度的正整数 N(不超过 250 位) ,去掉其中任意 k 个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 N 和 k,寻找一种方案使得剩下的数字组成的新数最小。
输入格式
n (高精度的正整数)
k (需要删除的数字个数)
输出格式
最后剩下的最小数。
输入输出样例
输入 #1
175438
4
输出 #1
13
思路
因为题目中说了是高精度的数,而且最高可达250为,所以肯定要用字符串来存储了,首先我们要先从高位开始一位位的和下一位比较如果比下一位大的话,就删掉这一位,也有可能能删的数还没有删完就只剩下了一个递增的数列,那么我们只能把末尾的数删掉,另外还需要对最前面是不是0做判断。
AC代码
#include <bits/stdc++.h>
using namespace std;
string s1;
int k, flag, t;
int main(void)