Cod sursa(job #663009)

Utilizator XbyteAvram Florin Xbyte Data 17 ianuarie 2012 18:16:21
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<cstdio>

using namespace std;

const int MaxN = 10;
const char InFile[] = "permutari.in";
const char OutFile[] = "permutari.out";

int n,x[MaxN];

int valid(int k)
{
	int i;
	for( i = 1 ; i < k ; i++ )
		if( x[i] == x[k] )
			return 0;
	return 1;
}

void back(int k)
{
	if( k )
		{
			x[k] = 0;
			while( k <= n && x[k] < n )
				{
					x[k]++;
					if( valid(k) )
						if( k == n )
							{
								for( int i = 1 ; i <= n ; i++ )
									printf("%d " , x[i]);
								printf("\n");
							}
							else
							back(k+1);
				}
		}
}

int main()
{
	freopen( InFile , "r" , stdin );
	freopen( OutFile , "w" , stdout );
	scanf("%d" , &n);
	back(1);
	return 0;
}