[1706]羅谷完全な配列の問題

タイトル説明

自然数nを出力するように配置された全ての別個の許容配列、すなわち、n個の全体構成の任意の数を生成し、重複する番号が表示さが必要です。

入出力フォーマット

入力フォーマット:

 

N(1≤n≤9)

 

出力フォーマット:

 

すべての数字は、1〜N、各行の配列からなる配列を繰り返しません。各番号5は、多くの場合、広い予約します。

 

サンプル入力と出力

入力サンプル#1:  コピー
3
出力サンプル#1:  コピー
    1 2 3 
    1 2 3 
    2 1 3 
    2 1 
    3 1 2 
    3 2 1 この問題に対する解決策は、直接呼び出すことができる機能があり、完全なパーミュテーション問題をemmm OH

// luogu-判定部イネーブル-O2 
の#include <cstdioを> 
する#include <iostreamの> 
する#include <cmath> 
の#include <cstdlib> 
の#include <CStringの> 
する#include <アルゴリズム> 
のtypedef 長い LL。
使用して 名前空間はstdを、
int型のn、[ 18 ]。
INT メイン(){
     // freopenは( "1706.in"、 "R"、STDIN)。
    // freopenは( "1706.out"、 "W"、STDOUT)。
    scanf関数(" %のD "、&N)
    ; iが<= N; iは++ 
        {[I] = I。printf("     %dの" 、I)。} 
     一方(next_permutation(A + 1、+ 1 + N)){ 
          のprintf(" の\ n " );
          int型 i = 1 ; iが<= N iが++ 
              のprintf("     %dの" 、[I])。
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/wuhu-JJJ/p/11224396.html