2 solutions
-
1
#include<bits/stdc++.h> using namespace std; int n; char a[15]; bool is(string n,char m){ for(int i=0;i<n.size();i++) if(n[i]==m) return false; return true; } void A(string w){ if(w.size()==n){ for(int i=0;i<n;i++) cout<<" "<<w[i];cout<<"\n";} else for(int i=0;i<n;i++) if(is(w,a[i])) A(w+a[i]); } int main(){ cin>>n; for(int i=0;i<n;i++) a[i]=i+1+'0'; A(""); return 0; }
-
0
#include<iostream> #include<cstring> using namespace std; char s[10]; int len , n; void arrange(int k) { if(k == len - 1) { for(int i = 0;i < n;i++){ cout << " " << s[i]; } cout << endl; return; } for(int i = k;i < len;i++){ swap(s[k] , s[i]); arrange(k + 1); } for(int i = k; i < len-1; ++i) swap(s[i] , s[i + 1]); } int main(){ cin >> n; for(int i = 0;i < n;i++){ s[i] = i + 1 + '0'; } len = strlen(s); arrange(0); return 0; }
- 1
Information
- ID
- 1113
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 8
- Tags
- # Submissions
- 13
- Accepted
- 7
- Uploaded By