Cod sursa(job #719864)

Utilizator zalmanDanci Emanuel Sebastian zalman Data 22 martie 2012 09:53:28
Problema Generare de permutari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

int st[10], N, i;
FILE *f = fopen("permutari.in", "r");
FILE *g = fopen("permutari.out", "w");

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

	return 1;
}

void print(void)
{
	for(i = 1; i <= N; ++i)
		fprintf(g, "%d ", st[i]);

	fprintf(g, "\n");
}
void back(int k)
{
	int i;
	for(i = 1; i <= N; ++i)
	{
		st[k] = i;
		if(valid(k))
			if(k == N)
				print();
			else
				back(k+1);
	}
}
int main(void)
{
	fscanf(f, "%d", &N);
	
	back(1);

	fclose(f);
	fclose(g);
	return 0;
}