Cod sursa(job #1535158)
| Utilizator | Data | 24 noiembrie 2015 13:28:30 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("permutari.in");
ofstream g ("permutari.out");
int a[10],k,n;
bool valid(int k)
{
for(int i = 1;i < k;i++)
if(a[k] == a[i])
return false;
return true;
}
void afisare()
{
for(int i = 1;i <= n;i++)
g<<a[i]<<" ";
g<<endl;
}
void bkt(int k)
{
int i;
for(i = 1;i <= n; i++)
{
a[k] = i;
if(valid(k))
{
if(k == n)
afisare();
else
bkt(k + 1);
}
}
}
int main()
{
f >> n;
bkt(1);
return 0;
}
