3722 if(current_i + cnt9 == k) {
3723 if(
const int r = m - current_sum - cnt9 * 9; (current_i > 1 && r >= 0 || current_i == 1 && r > 0) && r < 9) {
3724 str +=
static_cast<char>(r +
'0');
3728 for(
int i = 0; i < cnt9; i++) {
3731 ans.emplace_back(str);
3734 for(
int i = current_i == 1 ? 1 : 0; i <= 9; i++) {
3735 if(!(current_sum + i + cnt9 * 9 > m || current_sum + i + (k - current_i) * 9 - 1 < m)) {
3736 dfs(str +
static_cast<char>(i +
'0'), current_i + 1, m, k, current_sum + i, cnt9, ans);
int dfs(const vector< unordered_set< int > > &g, int father, int nd)