描述
給定乙個十進位制正整數n(0 < n < 1000000000),每個數字上數字均不為0。n的位數為m。
現在從m位中刪除k位(0< k < m),求生成的新整數最小為多少?
例如: n=9128456,k=2,則生成的新整數最小為12456。
格式
輸入格式
第一行t, 表示有t組資料; 接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。
輸出格式
t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。
樣例
輸入樣例
2
9128456 2
1444 3
輸出樣例
12456
1
限制
時間限制: 1000 ms
記憶體限制: 65536 kb
int
main()
;while
(num>0)
for(
int i=
0;i2;i++
)swap
(a[i]
,a[len-i-1]
);int cur=len-k,t=
0,cnt=
0,temp[10]
=;while
(cntint flag=0;
for(
int i=
0;i(temp[i]!=0
)for
(int i=flag;i)printf
("%d"
,temp[i]);
putchar
('\n');
}return0;
}
最小新整數
題目鏈結 先看第一組 1 5 1 9 小大 小 大 留刪 留 留 第二組 1 4 1 5 1 9 小 大 小 大 小 大 留 刪 留刪 留 留 刪掉的是 山峰 也就是比後乙個數大的數,且越靠前 山 峰 越早刪。大體思路也就一句話 刪除靠前的 山峰 另外,有幾個坑不得不提 1.注意刪除前導0 雖然它說...
1231 最小新整數
給定乙個十進位制正整數n 0現在從m位中刪除k位 0例如 n 9128456,k 2,則生成的新整數最小為12456。第一行t,表示有t組資料 接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。2 9128456 2 1444...
1231 最小新整數
題目描述 給定乙個十進位制正整數n 0現在從m位中刪除k位 0例如 n 9128456,k 2,則生成的新整數最小為12456。輸入 第一行t,表示有t組資料 接下來t行,每一行表示一組測試資料,每組測試資料報含兩個數字n,k。輸出 t行,每行乙個數字,表示從n中刪除k位後得到的最小整數。輸入樣例 ...