Nu aveti permisiuni pentru a descarca fisierul grader_test6.ok
Cod sursa(job #351057)
Utilizator | Data | 26 septembrie 2009 17:48:28 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream in ("permutari.in");
ofstream out ("permutari.out");
int a[10], n;
void print ()
{
for (int i=1; i<=n; ++i)
out<<a[i]<<' ';
out<<'\n';
}
bool ok (int x)
{
for (int i=1; i<x; ++i)
if (a[i]==a[x])
return false;
return true;
}
void bt (int i)
{
if (i<1) return;
if (i>n) { print (); i--; }
do { a[i]++; } while (!ok(i));
if (a[i]>n) { a[i]=0; bt (i-1); }
else bt (i+1);
}
int main ()
{
in>>n; bt (1);
return 0;
}