2014年1月9日 星期四

[ZJ] a524. 手機之謎


#include<stdio.h>
#include<string.h>
int s[10],v[10],n;
void dfs(int k){
    int i;
    if(k==n){
        for(i=0;i<n;i++)
            printf("%d",s[i]);
        puts("");
        return;
    }
    for(i=n;i>=1;i--){
        if(v[i]==0){
            v[i]=1;
            s[k]=i;
            dfs(k+1);
            v[i]=0;
        }
    }
}
int main(){
    while(scanf("%d",&n)!=EOF){
        memset(v,0,sizeof(v));
        dfs(0);
    }
}

沒有留言:

張貼留言