Cod sursa(job #162069)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 19 martie 2008 13:03:56
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
int n,sol[10];
/*int valid(int k){ //verifica daca sol[k] e compatibil cu elementele care sunt deja in sol.
	for(int i=1;i<k;i++)
		if(sol[i]==sol[k]) 
			return 0;
		return 1;
}*/
bool marcat[10];
void scrie(int k){
	int i;
	for(i=1;i<k;i++)
		printf("%d ",sol[i]);
	printf("\n");
}
void back(int k){ //completeaza sol[k]
	if(k==n+1){
		scrie(k);
		return ;
	}
	for(int i=1;i<=n;i++)
		if(!marcat[i]){
			marcat[i]=true;
			sol[k]=i;
			back(k+1);
			marcat[i]=false;
	}
}
int main(){
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d",&n);
	back(1);
}