Cod sursa(job #662614)

Utilizator orianaOriana oriana Data 16 ianuarie 2012 20:50:02
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int s[20],i,n;
void init(int k)
{
	s[k]=0;
}
int succesor(int k)
{
	if(s[k]<n)
	{
		s[k]++;
		return 1;
	}
	else
		return 0;
}
int valid(int k)
{
	for(int i=1;i<k;i++)
		if(s[k]==s[i])
			return 0;
	return 1;
}
int solutie(int k)
{
	if(k==n)
		return 1;
	else
		return 0;
}
void tipar()
{
	for(int i=1;i<=n;i++)
		g<<s[i]<<" ";
	g<<endl;
}
void back(int k)
{
	init(k);
	while(succesor(k))
		if(valid(k))
			if(solutie(k))
				tipar();
			else
				back(k+1);
}
int main()
{f>>n;
back(1);}