nyoj 448 刪數字(思維水題)

2021-08-01 03:51:29 字數 813 閱讀 9559

尋找最大數

時間限制:1000 ms | 記憶體限制:65535 kb

難度:2

描述 請在整數 n 中刪除m個數字, 使得餘下的數字按原次序組成的新數最大,

比如當n=92081346718538,m=10時,則新的最大數是9888

輸入 第一行輸入乙個正整數t,表示有t組測試資料

每組測試資料佔一行,每行有兩個數n,m(n可能是乙個很大的整數,但其位數不超過100位,並且保證資料首位非0,m小於整數n的位數)

輸出 每組測試資料的輸出佔一行,輸出剩餘的數字按原次序組成的最大新數

樣例輸入

2 92081346718538 10

1008908 5

樣例輸出

9888

98//貪心去刪,每次刪除第乙個遞減的數,這樣可以使得前面的數盡可能的大

#include

#include

#include

char s[150];

int vis[150];

int main()

break;}}

}if(f==1)

break;

}

if(f==0 || cnt==m)

break;

}if(f==0 && cnt < m)}}

for(int i=0;iif(vis[i]==0)

printf("%c",s[i]);

printf("\n");}}

return

0;}

nyoj448尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...

NYOJ 448 尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...

nyoj 448 尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...