題目:
鍵盤輸入乙個高精度的正整數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 輸出去掉...