zoukankan      html  css  js  c++  java
  • 洛谷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("
    ");
     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 } 
    全排列问题
  • 相关阅读:
    php配置GD库
    Linux 安装 Apache2+php5+gd+freetype2
    gd库
    数组和链表的区别
    python 整数中1出现的次数
    python栈--字符串反转,括号匹配
    Linux基础知识
    操作系统
    后台面试问题
    python 面向对象
  • 原文地址:https://www.cnblogs.com/zoom1109/p/11174852.html
Copyright © 2011-2022 走看看