Cod sursa(job #150123)

Utilizator sory1806Sandu Sorina-Gabriela sory1806 Data 6 martie 2008 16:46:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream.h>
#define max 10
int s[max], k, n;
ifstream f("permutari.in");
ofstream g("permutari.out");

void back();
void write();
int corect(int o);
int sol(int k);

int main()
{       f>>n;
	back();
	g.close();
	return 0;
}

void back()
{       k=1; s[k]=0;
	while(k!=0)
		if(s[k]<n)
		{	s[k]++;
			if(corect(k))
				if(sol(k))
					write();
				else
				{	k++;
					s[k]=0;
				}
		}
		else
			k--;
}

int corect(int o)
{	int i;
	for(i=1; i<o; i++)
		if(s[o]==s[i])
			return 0;
	return 1;
}

int sol(int o)
{	if(o==n)
		return 1;
	return 0;
}

void write()
{	int i;
	for(i=1; i<=n; i++)
		g<<s[i]<<' ';
	g<<'\n';
}