【題目描述】
給定乙個十進位制正整數n(0現在從m位中刪除k位(0例如: n=9128456,k=2,則生成的新整數最小為12456。
【輸入】
第一行t, 表示有t組資料;
接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。
【輸出】
t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。
【輸入樣例】
29128456 2
1444 3
【輸出樣例】
12456
1思路:這題就是一題貪心題。我們可以先把這道題變一下,把輸入1444 3留下,其餘刪掉,輸出就只剩下1。只剩下1444 3,這樣就很簡單了。再把while加進去就好了。(反正我是這樣做的)。
#include
using
namespace std;
char str[
101]
;int
main()
cin>>str>>n;
int len=
strlen
(str)
;while
(n--
)break;}
} len--;}
str[len]
='0'
; cout<}return0;
}
1231 最小新整數
給定乙個十進位制正整數n 0現在從m位中刪除k位 0例如 n 9128456,k 2,則生成的新整數最小為12456。第一行t,表示有t組資料 接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。2 9128456 2 1444...
最小新整數
題目鏈結 先看第一組 1 5 1 9 小大 小 大 留刪 留 留 第二組 1 4 1 5 1 9 小 大 小 大 小 大 留 刪 留刪 留 留 刪掉的是 山峰 也就是比後乙個數大的數,且越靠前 山 峰 越早刪。大體思路也就一句話 刪除靠前的 山峰 另外,有幾個坑不得不提 1.注意刪除前導0 雖然它說...
E 最小新整數
給定乙個十進位制正整數n 0 n 1000000000 每個數字上數字均不為0。n的位數為m。現在從m位中刪除k位 0input 第一行t,表示有t組資料 接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。output t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。sam...