刪數問題(貪心)

2021-10-04 01:29:42 字數 741 閱讀 5354

描述

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

輸出新的正整數,若輸出前有0則捨去。(n不超過240位)

輸入資料均不需判錯。

格式輸入格式

n 和 s

輸出格式

乙個正整數,即最少需要的組數。

樣例輸入樣例

175438

4

輸出樣例

13
限制

時間限制:1000 ms

記憶體限制:65536 kb

一開始沒有看清楚和理解 「去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數」 這句話的意思,直接慣性思維進行排序,結果肯定wa。貪心思路:從左往右刪,前者比後者大,那麼就刪除前者,比如:n=100534 s=2,過程是1比0大,刪除1,5比3大,刪除5結果是0034,將多餘的00去掉,然後的結果34。

#include #include #include #include using namespace std;

int main()

break;

}} leng--;

} for (int i=0; iif (count == leng) else

} return 0;

}

刪數問題(貪心)

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 輸出去掉...