程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> nyoj-366-D的小L(求全排列),nyoj-366-d求全排列

nyoj-366-D的小L(求全排列),nyoj-366-d求全排列

編輯:C++入門知識

nyoj-366-D的小L(求全排列),nyoj-366-d求全排列


D的小L

時間限制:4000 ms  |  內存限制:65535 KB 難度:2
描述
      一天TC的匡匡找ACM的小L玩三國殺,但是這會小L忙著哩,不想和匡匡玩但又怕匡匡生氣,這時小L給匡匡出了個題目想難倒匡匡(小L很D吧),有一個數n(0<n<10),寫出1到n的全排列,這時匡匡有點囧了,,,聰明的你能幫匡匡解圍嗎?
輸入
第一行輸入一個數N(0<N<10),表示有N組測試數據。後面的N行輸入多組輸入數據,每組輸入數據都是一個整數x(0<x<10)
輸出
按特定順序輸出所有組合。
特定順序:每一個組合中的值從小到大排列,組合之間按字典序排列。
樣例輸入
2
2
3
樣例輸出
12
21
123
132
213
231
312
321
來源
原創
上傳者
kapop
 1 /*
 2  * http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=366
 3  * by jtahstu on 2015/2/5 4:00
 4  * 知識點: 排列生成器     按字典序的下一個排列     next_permutation()
 5  *                      按字典序的前一個排列     prev_permutation()
 6  */
 7 
 8 #include <iostream>
 9 #include <algorithm>
10 #include <string>
11 using namespace std;
12 
13 int main() {
14     int n;
15     cin>>n;
16     while(n--)
17     {
18         int m;
19         string s;
20         cin>>m;
21         for(int i=1;i<=m;i++)
22             s+=i+'0';
23         cout<<s<<endl;
24         while(next_permutation(s.begin(),s.end()))
25             cout<<s<<endl;
26     }
27     return 0;
28  }
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 int a[]={1,2,3,4,5,6,7,8,9};
 7 int main()
 8 {
 9     int n,r;
10     cin>>r;
11     while(r--)
12     {
13      cin>>n;
14      do
15      {
16      for(int i=0;i<n;i++)
17          cout<<a[i];
18      cout<<endl;
19      }while(next_permutation(a,a+n));
20     }
21  return 0;
22 }        

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved