P1706 全排列问题

Posted zoom1109

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1706 全排列问题相关的知识,希望对你有一定的参考价值。

题目描述

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

输入输出格式

输入格式:

n(1≤n≤9)

输出格式:

由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 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int n, book[1010], st[1010];
 5 void dfs(int u)
 6     if(u == n)
 7         for(int i = 0; i < n; i++)    printf("%5d", st[i]);
 8         printf("\n");
 9     
10     for(int i = 1; i <= n; i++)
11         if(!book[i])
12             book[i] = 1;
13             st[u] = i;
14             dfs(u + 1);
15             book[i] = 0;
16         
17     
18 
19 int main()
20     scanf("%d", &n);
21     dfs(0);
22     return 0;
23  
全排列问题

 

以上是关于P1706 全排列问题的主要内容,如果未能解决你的问题,请参考以下文章

洛谷P1706全排列问题

洛谷 P1706 全排列问题(Java版)

P1706 全排列问题

洛谷 P1706 全排列问题

luogu P1706全排列问题

luogu P1706 全排列问题