Cod sursa(job #1478987)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 30 august 2015 12:08:44
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
// Galatan Tudor - Ion Luca High School
// Husi, Romania, Su, August 30, 2015

#include <fstream>

using namespace std;

ifstream in ("permutari.in");
ofstream out ("permutari.out");

int x[9];
int n, i;

int valid (int k)
{
	int i;
	for (i=1; i<k; i++)
		if (x[i] == x[k])
			return 0;
		return 1;
}

int main ()
{
	in >> n;
	for (i=1; i<=n; i++)
		x[i] = 0;
	i = 1;
	do
	{
		do
		{
			x[i]++;
			if (x[i] > n)
			{
				x[i] = 0;
				i--;
			}
			else if (valid(i))
				i++;
		} while (i<=n && i>0);
		if (i > n)
		{
			for (i=1; i<=n; i++)
				out << x[i] << " ";
			out << "\n";
			i = n;
		}
	} while (i > 0);
	return 0;
}