b511. ๆ›้Š…ๆฟ 5/16/2025

่งฃๆณ•ไธ€ใ€็ชฎ่ˆ‰

โœ… ๅฎŒๆ•ดไปฃ็ขผ

่ฉ•ๅˆ†็ตๆžœ(ๅƒ่€ƒ) ๏ผš AC (2ms, 352KB)

#include<bits/stdc++.h>
using namespace std;

int n, money;
vector<vector<int>> ans;
vector<int> v;
vector<int> temp;

void dfs(int money, int k){
    if(money == 0){
        ans.push_back(temp);
        return;
    }
    
    for(int i=k; i<n; i++){
        if(money >= v[i]){
            temp[i]++;
            f(money-v[i], i);
            temp[i]--;
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n;
    v.resize(n);
    temp.resize(n);
    
    for(int& i : v) cin >> i;
    cin >> money;
    
    dfs(money, 0);
    
    for(int i=ans.size()-1; i>=0; i--){
        cout << "(" << ans[i][0];
        for(int j=1; j<n; j++) cout << "," << ans[i][j];
        cout << ")\n";
    }
    
    return 0;
}