1 条题解

  • 0
    @ 2024-12-24 9:54:35

    C :

    #include<stdio.h>
    #include<stdlib.h>
    int a[10]={0};
    int b[10]={0};
    int n,tot=0;
    
    void outp(int a[]){
         int i;
         for(i=1;i<=n;i++)
             printf("%d",a[i]);
         putchar('\n');
    }
    
    
    int search(int i){
        int j;
        for(j=1;j<=n;j++){ 
            if(!b[j]){
            a[i]=j;
            b[j]=1;
            if(i==n){
    		    outp(a);
    		    tot++;
    		    }
            else{
    		    search(i+1);
    		    } 
            b[j]=0;
            }
            } 
    }
    
    int main(){
        scanf("%d",&n);
        search(1);
        printf("%d",tot);
        return 0;
    }
    
    
    • 1

    信息

    ID
    1330
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者