Cod sursa(job #1868034)
Utilizator | Soltan Gheorghe cyber_gh | Data | 4 februarie 2017 15:27:01 |
---|---|---|---|
Problema | Generare de permutari | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int N,A[100];
void backtrack(int st,int dr){
if (st==dr) {
for (int i=1;i<=N;i++) fout <<A[i]<<" ";
fout <<endl;
}
else {
for (int i=st;i<=dr;i++){
swap(A[st],A[i]);
backtrack(st+1,dr);
swap(A[st],A[i]);
}
}
}
int main(){
fin >>N;
for (int i=1;i<=N;i++) A[i]=i;
backtrack(1,N);
return 0;
}