洛谷 P1706 全排列问题 C语言

题目描述

按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 nn。

输出格式

由 1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 个场宽。

输入输出样例

输入 #1复制

复制代码
3

输出 #1复制

复制代码
    1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1

说明/提示

1≤n≤9。

思路:

爆搜模版,注意#include <iomanip>是,wets(5)的头文件

代码如下:

复制代码
#include<iostream>
#include <iomanip>
using namespace std;
int n;
int arr[100];
bool vis[100];
void dfs(int x)
{
	if(x > n)
	{
		for(int i = 1 ; i <= n ; i++)
		cout << setw(5) << arr[i];
		cout << endl;
		return;
	}
	
	for(int i = 1 ; i <= n ; i++)
	{
		if(vis[i] == false)
		{
			vis[i] = true;
			arr[x] = i;
			dfs(x+1);
			vis[i] = false;
			arr[x] = 0;		
		}		
	}
}
int main(void)
{
	cin >> n;
	dfs(1);
	return 0;
 } 
相关推荐
小刘鸭地下城10 分钟前
深入浅出链表:从基础概念到核心操作全面解析
算法
小刘鸭地下城20 分钟前
哈希表核心精要:从 O(1) 原理到链式地址与开放寻址
算法
BenChuat43 分钟前
Java常见排序算法实现
java·算法·排序算法
元亓亓亓1 小时前
LeetCode热题100--105. 从前序与中序遍历序列构造二叉树--中等
算法·leetcode·职场和发展
纪元A梦1 小时前
贪心算法在SDN流表优化中的应用
算法·贪心算法
JCBP_2 小时前
QT(4)
开发语言·汇编·c++·qt·算法
码熔burning2 小时前
JVM 垃圾收集算法详解!
jvm·算法
小柴狗2 小时前
C语言关键字详解:static、const、volatile
算法
仙俊红4 小时前
LeetCode每日一题,20250914
算法·leetcode·职场和发展
风中的微尘11 小时前
39.网络流入门
开发语言·网络·c++·算法