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;
}
相关推荐
汉克老师7 天前
GESP2026年6月认证C++七级( 第一部分选择题(8-15))精讲
c++·dfs·bfs·哈希·二分算法·gesp7级·网格dp
硕风和炜8 天前
【LeetCode: 2492. 两个城市间路径的最小分数 + DFS】
java·算法·leetcode·深度优先·dfs·bfs·并查集
伟大的车尔尼1 个月前
太平洋大西洋漂流记阅读理解
深度优先搜索·广度优先搜索·太平洋·大西洋·阅读理解
伟大的车尔尼1 个月前
搜索题目:使陆地分离的最少天数
深度优先搜索·广度优先搜索
伟大的车尔尼1 个月前
搜索题目:隔离病毒
深度优先搜索·广度优先搜索
王老师青少年编程1 个月前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝核心思想 )
c++·dfs·csp·信奥赛·搜索剪枝·搜索优化
浅念-1 个月前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs
浅念-2 个月前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
浅念-2 个月前
LeetCode回溯算法从入门到精通完整解析
开发语言·数据结构·c++·算法·leetcode·dfs·深度优先遍历
YL200404262 个月前
048路径总和III
数据结构·dfs