Cod sursa(job #2531450)
Utilizator | Data | 26 ianuarie 2020 12:10:39 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.71 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
const int NMAX = 10;
int N, A[NMAX];
int Stack[NMAX];
bool Sel[NMAX];
static inline void Write ()
{
for(int i = 1; i <= N; ++i)
g << Stack[i] << ' ';
g << '\n';
return;
}
static inline void Go (int K)
{
if(K == N)
{
Write();
return;
}
for(int i = 1; i <= N; ++i)
if(!Sel[i])
{
Sel[i] = 1;
Stack[K + 1] = i;
Go(K + 1);
Sel[i] = 0;
}
return;
}
int main ()
{
f.tie(NULL);
f >> N;
Go(0);
return 0;
}