wa 20求调,谢谢
查看原帖
wa 20求调,谢谢
1398428
gaozixuan666楼主2025/2/5 21:17
#include<bits/stdc++.h>
using namespace std;
int a,b;
string s;
string dfs(string& ss,int now,int x,int y){
	if(now==s.size())return ss;
	if(s[now]-'0'<'9'-s[now]&&s[now]-'0'<=y){
		ss[now]='9';
		return dfs(ss,now+1,x,y-s[now]+'0');
	}else if(s[now]-'0'>'9'-s[now]&&'9'-s[now]<=x){
		ss[now]='9';
		return dfs(ss,now+1,x-'9'+s[now],y);
	}else if(s[now]-'0'=='9'-s[now]){
		ss[now]='9';
		string ss1;
		if(x>='9'-s[now]){
			ss1=dfs(ss,now+1,x-'9'+s[now],y);
			if(y>=s[now]-'0'){
				ss1=max(ss1,dfs(ss,now+1,x,y-s[now]+'0'));
			}
		}else if(y>=s[now]-'0'){
			ss1=dfs(ss,now+1,x,y-s[now]+'0');
		}else{
			ss1=ss;
		}
		return ss1;
	}else {
		ss[now]+=x;
		return dfs(ss,now+1,0,y);
	}
}
signed main(){
	cin>>s>>a>>b;
	cout<<dfs(s,0,a,b);
}
2025/2/5 21:17
加载中...