洛谷 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;
 } 
相关推荐
前端摸鱼匠2 小时前
【AI大模型春招面试题11】什么是模型的“涌现能力”(Emergent Ability)?出现条件是什么?
人工智能·算法·ai·自然语言处理·面试·职场和发展
MORE_772 小时前
leecode-合并区间-贪心算法
算法·贪心算法
2401_873204652 小时前
分布式系统安全通信
开发语言·c++·算法
sw1213893 小时前
C++中的代理模式实战
开发语言·c++·算法
ballball~~4 小时前
ISP-CCM(Color Correction Matrix)
图像处理·数码相机·算法
Sunshine for you4 小时前
实时操作系统中的C++
开发语言·c++·算法
中科院提名者5 小时前
BPE 算法的硬核拆解——理解词表(Vocabulary)是如何从零训练出来的,以及字符串是如何被切碎的
算法
「QT(C++)开发工程师」5 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
乐分启航5 小时前
SliMamba:十余K参数量刷新SOTA!高光谱分类的“降维打击“来了
java·人工智能·深度学习·算法·机器学习·分类·数据挖掘
你真是饿了7 小时前
算法专题二:滑动窗口
算法