0
已解决
张睿杰
初级天翼
初级天翼
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
char a[101];
int t,m,len,b[101];
cin>>t;
for(int i=1;i<=t;i++)
{
scanf("%s",a);
cin>>m;
len=strlen(a);
for(int j=0;j<=len-1;j++) b[j]=a[j]-48;
for(int i=len-1;i>=1;i--)
{
for(int j=0;j<i;j++)
{
if(b[j]<b[i]) swap(b[j],b[i]);
}
}
for(int i=0;i<=len-m-1;i++) cout<<b[i];
cout<<endl;
}
}
请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,
比如当n=92081346718538,m=10时,则新的最大数是9888
输入描述 Input Description
第一行输入一个正整数T,表示有T组测试数据
每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)
输出描述 Output Description
每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数
样例输入 Sample Input
2
92081346718538 10
1008908 5
样例输出 Sample Output
9888
98