1 条题解

  • 0
    @ 2025-1-17 15:27:30
    #include<bits/stdc++.h>
    using namespace std;
    
    int n, k;  
    int a[15];    
    bool vis[15]; 
    void dfs(int u, int cur) { 
        if (cur == k) {
            for (int i = 0; i < k; i++) {
                printf("%d ", a[i]);
            }
            puts("");  
            return;  
        }
        if (u > n) return; 
        for (int i = 1; i <= n; i++) {
            if (!vis[i]) {
                vis[i] = true;
                a[cur] = i;
                dfs(u + 1, cur + 1);
                vis[i] = false;
            }
        }
    }
    
    int main() {
        cin >> n >> k;
        dfs(1, 0);
        return 0;
    }
    
    • 1

    信息

    ID
    830
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    22
    已通过
    9
    上传者