问题 D: 删数问题
题目描述
键盘输入一个高精度的正整数n(<=240位),
去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。
编程对给定的n和s,寻找一种方案,使得剩下的数最小。
输入
输出
样例输入
1785434
样例输出
13
提示
#include<stdio.h>
#include<string.h>
int main()
{
char a[250],c;
int n,i,stl,j=0,max;
gets(a);
scanf("%d",&n);
stl=strlen(a);
while(n>0)
{
c=a[j];
max=j;
for(i=j+1;i<stl;i++)
{
if(a[i]>c)
{
//printf("%c",a[i]);
c=a[i];
max=i;
}
}
// printf("\n");
// printf("%c\n",a[max]);
a[max]='0'-8;
if(max==j)
{
j++;
}
n--;
}
for(i=0;i<stl;i++)
{
if(a[i]!='0'-8)
printf("%c",a[i]);
}
}