1321 例6 3 刪數問題 Noip1994

2021-08-21 04:54:22 字數 669 閱讀 9053

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

輸出新的正整數。(n不超過240位)

輸入資料均不需判錯。ns

最後剩下的最小數。

175438

4

13#include#includeusing namespace std;

int main()

{ string s;

int n;

cin>>s>>n;

int len=s.size();

for(int i=0;is[j+1])

{for(int k=j;k總結:

1.做題太馬虎了,是按原本順序輸出,不是刪除後自己排序,開始做自己刪除完自己排序了

2.思路:這是個貪心的演算法題,首先列舉每一次要刪除的數使這個數刪除後最小,這就用到了貪心的思想 

175438         7

15438           5

1438            4

138              8

也就是刪除: 遞增數列的最後乙個,遞減數列的第乙個

3.這個break是控制刪除乙個的作用

4.用flag是為了怕首項有若干個『0』

1321 刪數問題 Noip1994

輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。輸出新的正整數。n不超過240位 輸入資料均不需判錯。ns 最後剩下的最小數。175438 4 13 created on 2020 2 11 ...

T1321 刪數問題

題目鏈結 這裡先介紹之前錯誤的思路 找出數字中n k個最小的數,組成新的正整數 但是很快就有問題出現,雖然每次都找的是整數各個位置中最小的數,但是忽略掉了位置的相對關係,如以下的例子 輸入的乙個整數 178906 6位數的整數 刪除其中4個數 按照這個思路,即要選擇6 4 2個最小的數,即0 和1,...

題解 刪數問題 Noip1994

時間限制 1000 ms 記憶體限制 65536 kb 提交數 11506 通過數 3852 輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。輸出新的正整數。n不超過240位 輸入資料均不需判...