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

枚举排列

时间:2014-12-08 21:05:17      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   sp   for   div   问题   log   

枚举排列题解
问题是将n个数排列出所有的结果,自然用到枚举法将个个可能的结果排除,中间需要判断,巧用ok的值。

 1 #include<stdio.h>
 2 int a[300];
 3 int n;
 4 void paixu(int cur)
 5 {
 6     int i,t,ok;
 7     if(cur==n+1)
 8     {
 9         for(i=1; i<=n; i++)
10             printf("%d ",a[i]);
11             printf("\n");
12     }
13     else
14     {
15         for(i=1; i<=n; i++)
16         {
17             ok=1;
18             for(t=1; t<cur; t++)
19                 if(a[t]==i)
20                 {
21                     ok=0;
22                     break;
23                 }
24             if(ok)
25             {
26                 a[cur]=i;
27                 paixu(cur+1);
28             }
29         }
30     }
31 }
32 int main()
33 {
34     int i,g;
35     scanf("%d",&n);
36     paixu(1);
37     return 0;
38 }

 

枚举排列

标签:style   blog   io   color   sp   for   div   问题   log   

原文地址:http://www.cnblogs.com/dongq/p/4151754.html

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