時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:2
描述
請在整數 n 中刪除m個數字, 使得餘下的數字按原次序組成的新數最大,
比如當n=92081346718538,m=10時,則新的最大數是9888
輸入
第一行輸入乙個正整數t,表示有t組測試資料
每組測試資料佔一行,每行有兩個數n,m(n可能是乙個很大的整數,但其位數不超過100位,並且保證資料首位非0,m小於整數n的位數)
輸出每組測試資料的輸出佔一行,輸出剩餘的數字按原次序組成的最大新數
樣例輸入
292081346718538 10
1008908 5
樣例輸出
988898
**第六屆itat複賽b卷2題改編
上傳者這個題目意思就是給一串數,不改變次序,要求去除給定的個數的數,讓剩下的數最大
我們要用貪心的想法,然後保留最後要留的位數減一位(為啥呢?因為這樣我們就可以保證一定能取夠要求的位數),從前面的那麼多位中選擇乙個最大的,從這個最大的數的下一位到保留最後要留的位數減兩位中,找最大的,依次找下去...
比如
1008908 5
總共7位,要找2位,所以要從除了最後一位的前6位裡面找出一位最大的。
然後從選擇的那一位的下一位開始,到第七位中找到最大的乙個。
#include#include#includeusing namespace std;
int main()
}printf("%c",a[f]);
}printf("\n");
} return 0;
}
南陽448 尋找最大數
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...
南陽448 尋找最大數
描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m n可能是乙個很大的整數,但其位數不超過100位,並且保證資料...
南陽oj448 尋找最大數
描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m n可能是乙個很大的整數,但其位數不超過100位,並且保證資料...