题解:AT_abc367_c Enumerate Sequences

· · 题解

题目思路

按题意暴力搜索就行。

Code

#include <bits/stdc++.h>
using namespace std;
int r[10];
int n,k;
vector<int> g;
void dfs(int i){
    if(i > n){
        int sum = 0;
        for(auto u : g) sum += u;
        if(sum % k != 0) return;
        for(auto u : g) cout << u << " ";
        cout << "\n";
        return;
    }
    for(int j = 1;j <= r[i];j ++){
        g.push_back(j);
        dfs(i + 1);
        g.pop_back();
    }
}
int main(){
    cin >> n >> k;
    for(int i = 1;i <= n;i ++) cin >> r[i];
    dfs(1);
    return 0;
}