流星


私信TA

用户名:dotcpp0659296

访问量:126

签 名:

等  级
排  名 16802
经  验 791
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 常熟理工学院
专  业

  自我简介:

TA的其他文章

搜索dfs+暴力
浏览:105

解题思路:

注意事项:

参考代码:

#include <bits/stdc++.h>

using namespace std;

int len;

string ans = "";

int jaa(int x, int len) {

int y = len;

if (9 - x <= y) {

return 9;

} else {

return x + y;

}

}

int jii(int x, int len) {

int y = len;

if (x + 1 <= y) {

return 9;

} else {

return -1;

}

}

void dfs(string ss, int j, int a, int b) {

if (ss > ans) {

ans = ss;

}

if (j >= len) {

return;

}

int t = ss[j] - '0';

if (a > 0) {

int t1 = jaa(t, a);

string ks = ss;

ks[j] = '0' + t1;

int aa = a - (t1 - t);

dfs(ks, j + 1, aa, b);

}

if (b > 0) {

int t2 = jii(t, b);

if (t2 > 0) {

string kk = ss;

kk[j] = '0' + t2;

int bb = b - (t + 1);

dfs(kk, j + 1, a, bb);

} else {

dfs(ss, j + 1, a, b);

}

}

}

int main() {

string s;

int a, b;

cin >> s >> a >> b;

len = s.size();

dfs(s, 0, a, b);

cout << ans << endl;

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »