C 刪數問題 SDUT

2021-10-03 00:25:27 字數 951 閱讀 4908

time limit: 1000 ms memory limit: 65536 kib

problem description

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

input

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

output

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

sample input

178543 4

sample output

hint

source

要注意的是本題儲存輸入的資料時用字串,刪除指定個數的數後相對順序不變,最後就是怎樣才能最小:從第乙個元素開始找遞增的子串行,每次刪除遞增子串行的最後乙個;也可以理解成第乙個當前乙個數比後乙個數大時,將前者刪除

#include

#include

#include

intmain()

len--

;//每次字串的長度減少一;

break

;//刪除乙個數後要結束本次迴圈;}}

} len =

strlen

(s);

while

(len>

1&&s[0]

=='0'

)//去掉前置零;

len--;}

printf

("%s\n"

,s);

}return0;

}

sdut 刪數問題

problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。input 輸入有多組 每組包括原始數n,要去掉的數字數s output 輸出去掉...

SDUT 刪數問題 貪心

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

SDUT 2072 刪數問題

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