1 条题解

  • 0
    @ 2023-12-9 17:26:37
    #include <iostream>
    using namespace std;
    int a[100],n,cnt;
    bool b[100];
     
    void dfs(int dep){
        if(dep > n){
            for(int i = 1;i <= n;i++){
                printf("%d", a[i]);
            }
            cnt++;
            putchar('\n');
            putchar('\n');
            return;
        }
        for(int i = 1;i <= n;i++){
            if(b[i] == false){
                a[dep] = i;
                b[i] = true;
                dfs(dep+1);
                b[i] = false;
            }
        }
    }
     
    int main(){
        scanf("%d", &n);
        dfs(1);
        printf("%d\n", cnt);
        return 0;
    }
    
    • 1

    信息

    ID
    1673
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    39
    已通过
    11
    上传者