#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
string n;
int a,b;
long long ans=0;
void dfs(int i,long long sum,int c1,int c2){
if(i>n.length()) return;
if(c1<0) return ;
if(c2<0) return;
ans=max(ans,sum);
int x=n[i]-'0';
int t=min(c1,9-x) ;
dfs(i+1,sum*10+t+x,c1-t,c2);//操作1
dfs(i+1,sum*10+9,c1,c2-x-1);//操作2
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>a>>b;
dfs(0,0,a,b);
cout<<ans<<endl;
return 0;
}
蓝桥:2193最大数字(DFS)
最新推荐文章于 2024-07-23 17:36:37 发布