Cod sursa(job #286696)

Utilizator spidyvenomMarius Toma spidyvenom Data 24 martie 2009 08:25:27
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream.h>
int n,p,k,x[20];
ifstream f("permutari.in");
ofstream g("permutari.out");
void tipar()
{
int i;
for (i=1;i<=k;i++) g<<x[i]<<" ";
g<<'\n';
}
int valid(int k)
{
int i;
for (i=1;i<k;i++)
	if (x[i]==x[k]) return 0;
return 1;
}
int sol(int k)
{
if (k==p) return 1;
return 0;
}
void back()
{
k=1;
x[k]=0;
while (k>0)
	if (x[k]<n)
		{
		x[k]++;
		if valid (k)
			if (sol(k)) tipar();
			else {k++;x[k]=x[k-1];}
		}
	else k--;
}
int main()
{
f>>n>>p;
back();
return 0;
}