首页 > 代码库 > (贪心)删数问题
(贪心)删数问题
【题目】
过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按
原左右次序将组成一个新的正整数。编程对给定的n 和s,寻找一种方案,使得剩下的数字组成的新数最小。
输入:n
s
输出:最后剩下的最小数
【样例输入】
178543
S=4
【样例输出】
13
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<cstdlib>using namespace std;char s[100010];int k,len;void work(){ int temp=k; while(temp--) { int i=0; while(i<len-1&&s[i]<=s[i+1]) i++; for(int j=i+1;j<len;j++) s[j-1]=s[j]; }}int main(){ cin>>s>>k; len=strlen(s); work(); for(int i=0;i<len-k;i++) printf("%c",s[i]);}
(贪心)删数问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。