Cod sursa(job #521437)

Utilizator Catah15Catalin Haidau Catah15 Data 12 ianuarie 2011 15:15:35
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;

int n, x[11];

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

void afisare(int x[11])
{
	for(int i = 1; i <= n; ++i)
		g << x[i] << " ";
	g << '\n';
}

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

void back(int k)
{
	for(int i = 1; i <= n; ++i)
	{
		x[k] = i;
		if(k == n)
		{
			if(valid(k))
				afisare(x);
		}
		else back(k + 1);
	}
}

int main()
{
	f >> n;
	
	back(1);
	
	f.close();
	g.close();
	
	return 0;
}