全排列問題 深搜DFS

2021-10-04 23:14:34 字數 932 閱讀 6273

description

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

input

第一行為乙個整數n。

output

由1至n組成的所有不重複的數字序列,每行乙個序列。

每個數字之間由空格隔開。

sample input 1

3sample output 1

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

hint

1≤n≤9

time limit

1000ms

memory limit

256mb

#include

#include

using

namespace std;

int* vis;

//指向標記陣列

int* ans;

//指向全排列結果

int n;

//全排列範圍1-n

void

arrange

(int n)

//還有n個位置沒排數

printf

("\n");

return

;//到達邊界,退出函式

}for

(int i =

1; i <= n; i++

)//列舉}}

intmain()

藍橋杯 湊算式 遞迴 dfs深搜 全排列

湊算式.c cheese created by 廖啟帆 on 2018 12 15.b def a 10 c ghi 這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?湊算式...

dfs全排列問題

全排列問題,不是計算全排列a,是把全排列列印出來,這也是dfs的一道入門題目,值得學習。問題 a 遞迴入門 全排列 題目描述 排列與組合是常用的數學方法。先給乙個正整數 1 n 10 例如n 3,所有組合,並且按字典序輸出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 輸入...

DFS全排列問題

題目描述 今天,桐桐的老師布置了一道數學作業,要求列出所有從數字1到數字n的連續自然數的排列,要求所產生的任一數字序列中不允許出現重複的數字。因為排列數很多,桐桐害怕寫漏了,所以她決定用計算機程式設計來解決。輸入只有乙個整數n 1 n 9 輸出按字典序輸出由1 n組成的所有不重複的數字序列,每行乙個...