Pagini recente » Cod sursa (job #2462582) | Cod sursa (job #1889490) | Cod sursa (job #863920) | Cod sursa (job #1069221) | Cod sursa (job #2340535)
#include <fstream>
// #include <iostream>
// #define N 5
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
void perms(int position, int N, int *v, int *frecv){
//conditie de oprire daca s-a ajuns la capat
//position este positia pe care trb adaugat un element
if(position >= N){
for(int i = 0; i < N; i++) out << v[i] << " ";
out << "\n";
}else{
for(int i = 0; i < N; i++){
if(frecv[i] == 0){
frecv[i] = -1; //echivalent cu da
v[position] = i+1;
perms(position + 1, N, v, frecv);
frecv[i] = 0;
}
}
}
}
int main(){
int N;
int v[8];
int frecv[8];
in >> N;
for(int i = 0; i < N; i++) frecv[i] = 0;
perms(0, N, v, frecv);
}