Cod sursa(job #780268)

Utilizator andreeainfo_dAndreea Dutulescu andreeainfo_d Data 20 august 2012 10:39:22
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
using namespace std;
#include<stdio.h>
#include<algorithm>
int st[10],a[10],n;
void initializari()
{
	int i;
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		a[i]=i;
}
void afisare(int p)
{
	int j;
	for(j=1;j<=p;j++)
		printf("%d ",st[j]);
	printf("\n");
}
int valid(int p)
{
	int i,ok;
	ok=1;
	for(i=1;i<=p-1;i++)
		if(st[p]==st[i])ok=0;
	return ok;
}
void backtracking(int p)
{
	int pval;
	for(pval=1;pval<=n;pval++)
	{
		st[p]=a[pval];
		if(valid(p))
			if(p==n)afisare(p);
		    else backtracking(p+1);
	}
}
int main()
{
	initializari();
	backtracking(1);
}