Cod sursa(job #162066)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 19 martie 2008 13:01:35
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
int n,sol[10];
int valid(int k){//verifica daca sol[k] e compatibil cu el care sunt deja in sol
	for (int i=1; i<k; i++)
		if (sol[i]!=sol[k])
			return 0;
		return 1;
} 
void scrie(){
	for (int i=1; i<n; i++)
		printf("%d",sol[i]);
	printf("%d\n",sol[n]);
}
void back(int k){
	//completeaza sol [k]
	if (k==n+1){
		//prelucrarea unei solutii
		scrie();
		return;
	}
	//aleg un element pentru sol[k]
	for (int i=1; i<=n; i++){
		sol[k]=i;
		if(valid(k))
			back(k+1);
	}
}
int main()
{
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d",&n);
	back(1);
	return 0;
}