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;
}
相关推荐
爱编程的化学家12 天前
代码随想录算法训练营第21天 -- 回溯4 || 491.非递减子序列 / 46.全排列 /47.全排列 II
数据结构·c++·算法·leetcode·回溯·全排列·代码随想录
hansang_IR1 个月前
【题解】洛谷 P4286 [SHOI2008] 安全的航线 [递归分治]
c++·数学·算法·dfs·题解·向量·点积
KarrySmile1 个月前
网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
矩阵·深度优先·dfs·深度优先搜索·灵茶山艾府·网格图·网格图dfs
hansang_IR1 个月前
【题解 | 两种做法】洛谷 P4208 [JSOI2008] 最小生成树计数 [矩阵树/枚举]
c++·算法·dfs·题解·枚举·最小生成树·矩阵树定理
CUC-MenG2 个月前
2025牛客多校第九场 G.排列 A.AVL树 F.军训 个人题解
数学·dfs·dp·笛卡尔树·组合数·曼哈顿距离·树上dp
zaiyang遇见2 个月前
【递归完全搜索】CCC 2008 - 24点游戏Twenty-four
算法·游戏·c/c++·全排列·信息学奥赛
KarrySmile2 个月前
Day51--图论--99. 岛屿数量(卡码网),100. 岛屿的最大面积(卡码网)
图论·深度优先搜索·广度优先搜索·深搜·广搜·岛屿数量·岛屿的最大面积
qiuyunoqy2 个月前
蓝桥杯算法之搜索章 - 3
c++·算法·蓝桥杯·深度优先·dfs·剪枝
CUC-MenG2 个月前
快速莫比乌斯变换(FMT)与莫比乌斯反演 例题:树上lcm
数学·dfs·fmt
zaiyang遇见2 个月前
【Complete Search】递归的完全搜索Complete Search with Recursion
递归·c/c++·全排列·搜索·信息学奥赛·程序设计竞赛·二进制掩码