Cod sursa(job #1869180)
| Utilizator | Data | 5 februarie 2017 17:25:35 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
int n, s[21];
bool valid(int k){
for(int i = 1; i < k; i++) if(s[i] == s[k]) return 0;
return 1;
}
void print(int k){
for(int i = 1; i <= k; i++) cout << s[i] << ' ';
cout << '\n';
}
bool sol(int k){
return k == n;
}
void back(int k){
int i;
for(i = 1; i <= n; i++){
s[k] = i;
if(valid(k)){
if(sol(k)) print(k);
else back(k+1);
}
}
}
int main(){
ifstrean cin("permutari.in");
ofstream cout("permutari.out");
cin >> n;
back(1);
return 0;
}
