递归实现排列型枚举

cpp 复制代码
#include<iostream>
using namespace std;

const int N = 10;
int state[N];
bool used[N];
int n = 0;
void dfs(int u) 
{
	if (u > n) 
	{
		for(int i=1;i<=n;i++)
			printf("%d ", state[i]);
		printf("\n");
	}
	for (int i = 1; i <= n; i++)
	{
		if (!used[i])
		{
			state[u] = i;
			used[i] = true;
			dfs(u + 1);
			
			state[u] = 0;
			used[i] = false;
		}
	}

}
int main()
{
	scanf("%d", &n);
	dfs(1);
	return 0;
}
相关推荐
雅俗共赏1004 分钟前
医学图像重建中常用的迭代求解器分类
图像处理·算法
不熬夜的熬润之10 分钟前
KCF算法解析
人工智能·算法·计算机视觉·机器人
CoderCodingNo11 分钟前
【CSP】CSP-J 2025真题 | 多边形 luogu-P14360 (相当于GESP六级水平)
开发语言·c++·算法
Magic--19 分钟前
【LeetCode 27. 移除元素】C++ 范围 for 极简实现与原理解析
c++·算法·leetcode
A923A22 分钟前
【洛谷刷题 | 第九天】
算法·二分·洛谷
旖-旎24 分钟前
位运算(只出现一次的数字|||)(5)
c++·算法·leetcode·位运算
AIpanda88827 分钟前
数字员工是什么?熊猫智汇在提高销售转化率中的作用有哪些?
算法
源码之家29 分钟前
计算机毕业设计:基于Python的美食数据采集可视化系统 Django框架 Scrapy爬虫 可视化 数据分析 大数据 机器学习 食物 食品(建议收藏)✅
python·算法·机器学习·信息可视化·课程设计
简简单单做算法31 分钟前
基于Q-Learning强化学习的小车倒立摆平衡控制系统matlab性能仿真
算法·matlab·强化学习·qlearning·小车倒立摆平衡控制
Book思议-31 分钟前
【数据结构】循环与递归:C 语言实现求和与斐波那契数列的两种思路
数据结构·算法·循环与递归