Cod sursa(job #768187)

Utilizator NicuCJNicu B. NicuCJ Data 16 iulie 2012 12:07:58
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <algorithm>
using namespace std;
int n, x[10];
ifstream f("permutari.in");
ofstream g("permutari.out");
bool ok()
{
	int i, j;
	for(i=1; i<n; i++)
	{
		for(j=i+1; j<=n; j++)
		{
			if(x[i]==x[j])
				return false;
		}
	}
	return true;
}
void back(int k)
{
	int i;
	for(i=1; i<=n; i++)
	{
		x[k]=i;
		if(k==n)
		{
			if(ok())
			{
				for(int j=1; j<=n; j++)
				{
					g<<x[j]<<" ";
				}
				g<<"\n";
			}
		}
		else back(k+1);
	}
}

int main()
{
	int i;
	f>>n;
	for(i=1; i<=n; i++)
	{
		x[i]=i;
		g<<x[i]<<" ";
	}
	g<<"\n";
	while(next_permutation(x+1, x+n+1))
	{
		for(i=1; i<=n; i++)
		{
			g<<x[i]<<" ";
		}
		g<<"\n";
	}
	//back(1);
}