刪數問題(貪心)

2021-06-22 22:00:45 字數 667 閱讀 6738

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

給定n 位(n≤100)正整數a,去掉其中任意k≤n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n 位正整數a和正整數k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。

對於給定的正整數a,計算刪去k 個數字後得到的最小數。

輸入資料的第1 行是1 個正整數a。第2 行是正整數k。

將計算出的最小數輸出。

178543

4

13思路:對於給定的一串數字,每次刪除第乙個左邊大於右邊的數字,若完全公升序則刪除最後乙個數字,刪除k次即可。輸出結果的時候注意去掉前導0(這是個坑)

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

int main()

i++;j++;

}if(flag)

s.erase(j);

}for(i=0;iif(s[i]!='0')break;

while(i!=s.size())

cout

}

貪心 刪數問題

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

貪心 刪數問題

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

貪心)刪數問題

題目 鍵盤輸入乙個高精度的正整數 240位 去掉任意 個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的 和 尋找一種方案,使得剩下的數最小。input 178543 4 output 13刪乙個數使其剩下的數組成的正整數最小 12345,刪五 13245,刪三 我們發現,從高位到...