helloworld


私信TA

用户名:uq_62636900566

访问量:583

签 名:

想要变成大佬

等  级
排  名 1565
经  验 2796
参赛次数 24
文章发表 9
年  龄 19
在职情况 学生
学  校
专  业

  自我简介:

.0.0.0.0.0.0.

TA的其他文章

解题思路:10个位置每个位置上找到满足的数放置


注意事项:

参考代码:

#include <iostream>

#include <cmath>

using namespace std;

int n;

int arr[11];

int sum = 0;

void dfs(int start) {

    if (start == 10) {

        if (sum == n) {

            for (int i = 0; i < 10; i++) {

                cout << arr[i] << " ";

            }

            cout << endl;

        }

        return;

    }

    for (int i = 9; i <= 11; i++) {

        sum += i * pow(3, start);

        arr[start] = i;

        dfs(start + 1);

        sum -= i * pow(3, start); //回溯

    }

}


int main() {

    while(cin>>n)

   { 

        dfs(0);

}

    return 0;

}


 

0.0分

2 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

思路相当清晰,通俗易懂,必须好评!
2023-11-15 09:57:41
  • «
  • 1
  • »