洛谷 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;
 } 
相关推荐
To_OC10 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
Forever Nore13 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR14 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
Tisfy15 小时前
LeetCode 3731.找出缺失的元素:哈希 / 排序
算法·leetcode·哈希算法·排序·哈希表
lucas_AI16 小时前
Q-CueGraph:你的多模态大模型会 zoom,但真的知道该看哪儿吗?
人工智能·算法
kaixin_啊啊16 小时前
test_机器学习算法学习
学习·算法·机器学习
liulilittle16 小时前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
旖旎夜光16 小时前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
一只齐刘海的猫16 小时前
【Leetcode】乘积最大子数组
算法·leetcode·职场和发展