题解P9215
Big_Dinosaur · · 题解
题意
给出
核心思路
因为
删掉
否则,建立
接下来,在非零数之前的
如果
最后,对于没有输出
代码
#include<bits/stdc++.h>
using namespace std;
int t,k,a;string x,s;
void doit(){
s="";a=0;
while(x[x.size()-1]=='0'){
x.erase(x.size()-1);++a;
}
if(x.size()<k){
puts("-1");return;
}
for(int i=0;i<x.size();++i)if(x[i]=='0'||!k)s+='0';else{
s+='9';--k;
}
for(int i=x.size()-1;i>=0;--i)if(x[i]=='0'&&k){
s[i]='9';--k;
}
cout<<s;
for(int i=1;i<=a;++i)putchar('0');puts("");
}
int main(){
scanf("%d",&t);
while(t--){
cin>>x>>k;
doit();
}
}