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

TOJ---2621--全排列

时间:2014-06-16 13:09:45      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

这个方法 是超神教我的 --- 全排列的方法太多种了 感觉他这种写的 字典序法 是最简单的 最容易让人接受的

而且在时间复杂度和空间复杂度上 都可以让人接受

我待会将具体每步做法简要写一下...-> 我现在被一个 三角形给 深深烦死了  。。。。。。贴个代码 来 缓解下.....

bubuko.com,布布扣
 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 int arr[30];
 6 const int inf = 0x3f3f3f3f;
 7 
 8 int main()
 9 {
10     int n , temp;
11     int t;
12     int i , j , k;
13     while( ~scanf("%d",&t) )
14     {
15         while( t-- )
16         {
17             scanf( "%d",&n );
18             for( i = 0 ; i<n ; i++ )
19             {
20                 scanf( "%d",&arr[i] );
21             }
22             sort( arr , arr+n );
23             while(1)
24             {
25                 int mmin = inf;
26                 for( i = 0 ; i<n ; i++ )
27                 {
28                     printf( "%d%c",arr[i],(i==n-1)?\n:  );
29                 }
30                 for( i = n-1 ; i>=1 ; i-- )
31                 {
32                     if( arr[i]>arr[i-1] )
33                     {
34                         temp = arr[i-1];
35                         k = i-1;
36                         break;
37                     }
38                 }
39                 if( i<=0 )
40                     break;
41                 for( i = n-1 ; i>k ; i-- )
42                 {
43                     if( arr[i]>arr[k] && arr[i]<mmin )
44                     {
45                         mmin = arr[i];
46                         j = i;
47                     }
48                 }
49                 swap( arr[j] , arr[k] );
50                 for( i = k+1 , j = n-1 ; i<j ; i++ , j-- )
51                 {
52                     swap( arr[i] , arr[j] );
53                 }
54             }
55             printf( "\n" );
56         }
57     }
58     return 0;
59 }
View Code

 

today:

  世间最美 不过 残缺美

  所以 留点遗憾 是件很美的事

TOJ---2621--全排列,布布扣,bubuko.com

TOJ---2621--全排列

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/radical/p/3790117.html

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