码迷,mamicode.com
首页 > 其他好文 > 详细

P1706 全排列问题

时间:2019-07-12 11:19:24      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:描述   图片   play   alt   hid   格式   自然数   book   mes   

题目描述

输出自然数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 全排列问题

标签:描述   图片   play   alt   hid   格式   自然数   book   mes   

原文地址:https://www.cnblogs.com/zoom1109/p/11174852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!