貪心)刪數問題

2021-08-20 19:35:31 字數 596 閱讀 5582

題目:

鍵盤輸入乙個高精度的正整數n(<=240位),

去掉任意s個數字後剩下的數字按原左右次序將組成乙個新的正整數。

程式設計對給定的n和s,尋找一種方案,使得剩下的數最小。

****** input

178543

4****** output

13刪乙個數使其剩下的數組成的正整數最小

12345,刪五

13245,刪三

我們發現,從高位到低位來迴圈,如果這個數遞增,那麼就刪最後乙個,如果這個數有遞減區間,就把區間裡第乙個數刪去這樣的話會得到最小的正整數。

#include

#include

using

namespace

std;

int main()

if(b==0) break;

}if(b!=0)

if(b==0) break;}}

for(i=0;iif(a[i]!=-1) cout

<}

}

刪數問題(貪心)

time limit 1000ms memory limit 65536k 有疑問?點這裡 給定n 位 n 100 正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n 位正整數a和正整數k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。對於給定的正整...

貪心 刪數問題

題目描述 鍵盤輸入乙個高精度的正整數n 240位 去掉其中任意s個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案,使得剩下的數字組成的新數最小。n s 最後剩下的最小數 樣例輸入 178543 4樣例輸出13 這題貪心是要找乙個單調增的數,即保證較小數總在高位...

貪心 刪數問題

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