我讨论过的,不会出现贪心影响后面的情况
#include<bits/stdc++.h>
using namespace std;
long long N;
int A,B,len;
int a[25];
int main(){
cin>>N>>A>>B;
while(N){
a[++len]=N%10;
N/=10;
}
for(int i=len;i>=1;i--){
if(a[i]<4){
if(B>=a[i]+1){
B-=a[i]+1;
a[i]=9;
}else{
if(A>=9-a[i]){
A-=9-a[i];
a[i]=9;
}else{
a[i]+=A;
A=0;
}
}
}
// else if(a[i]==4){
// if(B>=a[i]+1){
// B-=a[i]+1;
// a[i]=9;
// }else{
// if(A>=9-a[i]){
// A-=9-a[i];
// a[i]=9;
// }else{
// a[i]+=A;
// A=0;
// }
// }
// }
else{
if(A>=9-a[i]){
A-=9-a[i];
a[i]=9;
}else{
if(B>=a[i]+1){
B-=a[i]+1;
a[i]=9;
}else{
a[i]+=A;
A=0;
}
}
}
}
for(int i=len;i;i--) cout<<a[i];
return 0;
}