题意比较简单。只要判断一下就可以了。
代码:
#include<bits/stdc++.h>
using namespace std;
int n,k;
int ans;
char a[11];
int b[10];
int main(){
scanf("%s%d",a,&k);
if(k==0){
printf("%s",a);
}
else{
int u=strlen(a);
int flag=-1;
for(int i=u-1;i>=0;i--){
int x=a[i]-'0';
if(k==0)
break;
if(a[i]!='0'){
if(x>k){
a[i]=a[i]-k;
break;
}
else {
k-=(a[i]-'0');
a[i]='0';
if(k!=0){
flag=i;
k--;
}
}
}
else if(a[i]=='0')
{
k--;
flag=i;
}
}
if(flag==-1)
{
for(int i=0;i<u;i++)
printf("%c",a[i]);
}
else {
for(int i=0;i<flag;i++)
printf("%c",a[i]);
}
}
return 0;
}