Cod sursa(job #1377013)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 5 martie 2015 19:43:13
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb

#include <fstream>
#include <algorithm>

const int MAX_N(9);

int main (void)
{
	std::ifstream input("permutari.in");
	int n;
	input >> n;
	input.close();
	int i, j;
	char v [MAX_N] = {0};
	for (i = 0 ; i < n ; ++i)
		v[i] = i + '1';
	std::ofstream output("permutari.out");
	while (true)
	{
		output << v << '\n';
		for (i = n - 2 ; i >= 0 && v[i] > v[i + 1] ; --i)
			/* do nothing */;
		if (i < 0)
			break;
		for (j = n - 1 ; j >= i && v[j] < v[i] ; --j)
			/* do nothing */;
		std::swap(v[i],v[j]);
		for (++i, j = n - 1 ; i < j ; ++i, --j)
			std::swap(v[i],v[j]);
	}
	output.close();
	return 0;
}