time limit: 1000 ms memory limit: 65536 kib
problem description
鍵盤輸入乙個高精度的正整數n(≤100位),去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。
input
輸入有多組 每組包括原始數n,要去掉的數字數s;
output
輸出去掉s個數後最小的數
sample input
178543 4
sample output
hint
source
要注意的是本題儲存輸入的資料時用字串,刪除指定個數的數後相對順序不變,最後就是怎樣才能最小:從第乙個元素開始找遞增的子串行,每次刪除遞增子串行的最後乙個;也可以理解成第乙個當前乙個數比後乙個數大時,將前者刪除
#include
#include
#include
intmain()
len--
;//每次字串的長度減少一;
break
;//刪除乙個數後要結束本次迴圈;}}
} len =
strlen
(s);
while
(len>
1&&s[0]
=='0'
)//去掉前置零;
len--;}
printf
("%s\n"
,s);
}return0;
}
sdut 刪數問題
problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。input 輸入有多組 每組包括原始數n,要去掉的數字數s output 輸出去掉...
SDUT 刪數問題 貪心
time limit 1000 ms memory limit 65536 kib submit statistic problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種...
SDUT 2072 刪數問題
刪數問題 time limit 1000 ms memory limit 65536 kib problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成...