Cod sursa(job #821713)

Utilizator daniel.pDaniel daniel.p Data 22 noiembrie 2012 16:53:04
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<vector>
#include<cstdio>

using namespace std;

FILE *f1=fopen("permutari.in","r"), *f2=fopen("permutari.out","w");

vector<int> x(10);
int n;


void write ()
{
	for(int i=1;i<=n;++i)
		fprintf(f2,"%d ",x[i]);
    fprintf(f2,"\n");
}

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

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

}

int main (void)
{
    fscanf(f1,"%d\n",&n);
    back(1);
    fclose(f1);
    fclose(f2);
    return 0;
}