zoukankan      html  css  js  c++  java
  • P2089 烤鸡(搜索简单题)

    题意:就是x分别是1到3的未知数,求x1+x2+x3.....+x10=n的方案数和输出每种方案。每种方案还必须按字典序输出

    思路:就是简单的构建搜索树+约束条件啊,其实数据范围一点都不大,所以,我第一遍是搜索方案数,第二次搜索

    每种方案的输出。嘻嘻。

    #include<iostream>
    using namespace std;
    
    const int maxn = 1000;
    int num[11];
    int len, k;
    
    void DFS1(int n, int sum){
        if (n == 10 && sum == 0){ len++;  return; }
        if (n > 10 || sum <= 0)return;
        for (int i = 1; i <= 3; ++i){
            DFS1(n + 1, sum - i);
        }
    }
    void DFS(int n, int sum){
        if (n == 10 && sum == 0){ 
            for (int i = 0; i<10; ++i)
                cout << num[i] << " 
    "[i == 9];
            return; }
        if (n > 10 || sum <= 0)return;
        for (int i = 1; i <= 3; ++i){
            num[n] = i;
            DFS(n + 1, sum - i);
        }
    }
    
    
    int main(){
        cin >> k;
        DFS1(0, k);
        cout << len << endl;
        DFS(0, k);
        
    }
  • 相关阅读:
    62. Unique Paths (JAVA)
    60. Permutation Sequence (JAVA)
    56. Merge Intervals (JAVA)
    53. Maximum Subarray (JAVA)
    Java的volatile
    int和Integer的区别
    Java线程
    spark搭建部署
    spark源码编译
    Scala隐式转换和隐式参数
  • 原文地址:https://www.cnblogs.com/ALINGMAOMAO/p/10380805.html
Copyright © 2011-2022 走看看