P1706 全排列问题

全排列问题

题目描述

按照字典序输出自然数 1n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 n

输出格式

1n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 个场宽。

样例 #1

样例输入 #1

3

样例输出 #1

1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1

提示

1n9

2.题解

2.1 排列枚举

思路:使用next_permutation函数

思路同排列枚举,利用next_permutation,不断提升字节序,输出不同的排列组合即可

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin >> n;
	vector<int> arr(n);
	for(int i = 0; i < n; i++)
		arr[i] = i + 1;
	do{
		for(int i = 0; i < n; i++){
			cout << setw(5) << arr[i];
		}
		cout << endl;
	}while(next_permutation(arr.begin(), arr.end()));
}
posted @   DawnTraveler  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示