题目描述
输入一个数字n,然后输入n个数字,对这n个数字进行全排列,输出全排列后的结果。
输入样例
3
1 2 3
输出样例
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
在我之前的文章中我介绍了排列中的非全排列的应用,这次我说一下全排列的应用,全排列与非全排列有相同之处也有不同之处。
相同之处
全排列与非全排列都是排列的一种,思路大致一样。
不同之处就是全排列是对所有数字进行排列,而非全排列则是对部分数据进行排列。
题解
#include<iostream>
#define N 110
using namespace std;
int arr[N]={0},dp[N];
void dfs(int *str,int n,int k){
if(k==n){
for(int i=0;i<n;i++)