P1706 全排列问题

原题链接:全排列问题 - 洛谷

目录

[1. 题目描述](#1. 题目描述)

[2. 思路分析](#2. 思路分析)

[3. 代码实现](#3. 代码实现)


1. 题目描述

2. 思路分析

dfs典题

3. 代码实现

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int N = 20;
ll n, a[N];
bool vis[N];

void dfs(ll x) {
	if (x > n) {
		for (int i = 1; i <= n; i++) {
			printf("%5lld", a[i]);
		}
		printf("\n");
		return;
	}
	for (int i = 1; i <= n; i++) {
		if (!vis[i]) {
			a[x] = i;
			vis[i] = true;
			dfs(x + 1);
			vis[i] = false;
		}
	}
}

int main() {
	scanf("%lld", &n);
	dfs(1);
	return 0;
}
相关推荐
老鼠只爱大米3 小时前
LeetCode经典算法面试题 #46:全排列(回溯、交换、剪枝等五种实现方案详细解析)
算法·leetcode·剪枝·回溯·全排列·stj算法
Python+JAVA+大数据4 天前
SQL玩出算法竞赛高度!郑凌云数独算法:递归CTE+位运算DFS回溯全解析
数据库·sql·算法·搜索引擎·深度优先·dfs
老鼠只爱大米5 天前
LeetCode经典算法面试题 #199:二叉树的右视图(BFS双队列法、DFS递归法等多种实现方案详细解析)
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·右视图
Queenie_Charlie6 天前
八皇后问题
c++·深度优先搜索
老鼠只爱大米8 天前
LeetCode经典算法面试题 #543:二叉树的直径(深度优先搜索、迭代后续遍历等多种实现方案详细解析)
算法·leetcode·二叉树·二叉树遍历·深度优先搜索·二叉树直径
源代码•宸9 天前
Leetcode—94. 二叉树的中序遍历【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
源代码•宸9 天前
Leetcode—144. 二叉树的前序遍历【简单】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
不穿格子的程序员9 天前
从零开始写算法——图论篇2:课程表 + 实现前缀树(26叉树)
算法·深度优先·图论·dfs·bfs
少许极端9 天前
算法奇妙屋(二十六)-二叉树的深度搜索问题
算法·二叉树·dfs
老鼠只爱大米10 天前
LeetCode经典算法面试题 #104:二叉树的最大深度(深度优先搜索、广度优先搜索等多种实现方案详细解析)
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·广度优先搜索