1. 程式人生 > >洛谷——P1706 全排列問題

洛谷——P1706 全排列問題

radius 復制 -s 個數字 oid sample sam radi 要求

P1706 全排列問題

題目描述

輸出自然數1到n所有不重復的排列,即n的全排列,要求所產生的任一數字序列中不允許出現重復的數字。

輸入輸出格式

輸入格式:

n(1≤n≤9)

輸出格式:

由1~n組成的所有不重復的數字序列,每行一個序列。每個數字保留5個常寬。

輸入輸出樣例

輸入樣例#1: 復制
3
輸出樣例#1: 復制
    1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1
惡心的·輸出
#include<cstdio>
#include
<cstring> #include<iostream> #include<algorithm> #define N 20 using namespace std; bool vis[N]; int n,ans[N]; void dfs(int s) { if(s==n+1) { for(int i=1;i<=n;i++) printf("%5d",ans[i]); printf("\n"); return ; } for
(int i=1;i<=n;i++) if(!vis[i]) vis[i]=true,ans[s]=i,dfs(s+1),vis[i]=false; } int main() { scanf("%d",&n); dfs(1); return 0; }

洛谷——P1706 全排列問題