time limit: 1000ms memory limit: 65536k 有疑問?點這裡^_^
給定n 位(n≤100)正整數a,去掉其中任意k≤n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n 位正整數a和正整數k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。
對於給定的正整數a,計算刪去k 個數字後得到的最小數。
輸入資料的第1 行是1 個正整數a。第2 行是正整數k。
將計算出的最小數輸出。
1785434
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,刪三 我們發現,從高位到...