首页 > 代码库 > 挑战题之排列生成
挑战题之排列生成
挑战题之排列生成
Time Limit: 2000MS | Memory Limit: 65535KB |
Submissions: 435 | Accepted: 170 |
Sample Input
3
Sample Output
123 132 213 231 312 321
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include<iostream> #include <cstdio> using namespace std; int s[10]; int s1[10]; int vis[10] = {0}; void dfs( int l, int n ) { int i; if (l>=n) { for (i= 0;i<n;i++) printf ( "%d" ,s1[i]); printf ( "\n" ); } for (i=0;i<n;i++) { if (!vis[i]) { vis[i] = 1; s1[l] = s[i]; dfs(l+1,n); vis[i] = 0; } } } int main() { int num; cin>>num; for ( int i=0;i<num;i++) s[i] = i+1; dfs (0, num); return 0; } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。