輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。
輸出新的正整數。(n不超過240位)
輸入資料均不需判錯。ns
最後剩下的最小數。
1754384
13#include#includeusing namespace std;
int main()
{ string s;
int n;
cin>>s>>n;
int len=s.size();
for(int i=0;is[j+1])
{for(int k=j;k總結:
1.做題太馬虎了,是按原本順序輸出,不是刪除後自己排序,開始做自己刪除完自己排序了
2.思路:這是個貪心的演算法題,首先列舉每一次要刪除的數使這個數刪除後最小,這就用到了貪心的思想
175438 7
15438 5
1438 4
138 8
也就是刪除: 遞增數列的最後乙個,遞減數列的第乙個
3.這個break是控制刪除乙個的作用
4.用flag是為了怕首項有若干個『0』
1321 刪數問題 Noip1994
輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。輸出新的正整數。n不超過240位 輸入資料均不需判錯。ns 最後剩下的最小數。175438 4 13 created on 2020 2 11 ...
T1321 刪數問題
題目鏈結 這裡先介紹之前錯誤的思路 找出數字中n k個最小的數,組成新的正整數 但是很快就有問題出現,雖然每次都找的是整數各個位置中最小的數,但是忽略掉了位置的相對關係,如以下的例子 輸入的乙個整數 178906 6位數的整數 刪除其中4個數 按照這個思路,即要選擇6 4 2個最小的數,即0 和1,...
題解 刪數問題 Noip1994
時間限制 1000 ms 記憶體限制 65536 kb 提交數 11506 通過數 3852 輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。輸出新的正整數。n不超過240位 輸入資料均不需判...