ACM 刪數問題 SDUT 2072

2021-07-26 10:56:05 字數 864 閱讀 2785

刪數問題

time limit: 1000ms memory limit: 65536kb

submit statistic discuss

problem description

鍵盤輸入乙個高精度的正整數n(≤100位),去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。

input

輸入有多組 每組包括原始數n,要去掉的數字數s;

output

輸出去掉s個數後最小的數

example input

178543 4

example output

注意前導0,和輸出0的情況重疊

貪心策略:每次刪去有高位到低位遞增區間的末尾或者遞減區間的首位,實現區域性貪心

#include 

#include

#include

#include

using

namespace

std;

void modify(char (&str)[102])

}int main()

//數字完全刪除的情況

while (n)

//貪心策略

if (arr[0]=='0')

modify(arr);

//除去前導0

if (arr[0]=='\0')

//前導0,輸出0的情況

printf("%s\n",arr);

}return

0;}

SDUT 2072 刪數問題

刪數問題 time limit 1000 ms memory limit 65536 kib problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成...

SDUT 2072 刪數問題

我做這個題了解到的是要注意的是刪除過程中可能會使原來包含0的數字串變成若干個以0開始的序列,當遇到數字串首位是0的時候,把高位的0去掉。鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組...

SDUT 2072 刪數問題 貪心

time limit 1000ms memory limit 65536kb submit statistic discuss problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s...