Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
鍵盤輸入一個高精度的正整數n(≤100位),去掉其中任意s個數字後剩下的數字按照原來的左右次序組成一個新的正整數。編程對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。
Input
輸入有多組 每組包括原始數n,要去掉的數字數s;
Output
輸出去掉s個數後最小的數
Sample Input
Sample Output
Hint
Source
#include<stdio.h>
#include<string.h>
int main()
{
int s, i, l;
char a[108];
while(scanf("%s %d", a, &s) != EOF)
{
while(s--)
{
l = strlen(a);
i = 0;
while(i < l && a[i] <= a[i + 1])
i++;
while(i < l)
{
a[i] = a[i + 1];
i++;
}
}
l = strlen(a);
i = 0;
while(i < l && a[i] == '0')
i++;
if(i < l)
{
while(i < l)
{
printf("%c", a[i]);
i++;
}
}
else printf("0");
printf("\n");
}
return 0;
}