Cod sursa(job #1014492)

Utilizator BuseSorinFMI Buse Sorin-Marian BuseSorin Data 22 octombrie 2013 19:44:11
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>


using namespace std;

bool eValid(int V[], int n){
	for (int i = 0; i < n - 1; i++){
		if (V[i] == V[n - 1]){
			return false;
		}
	}
	return true;
}

int main(){

	ifstream f("permutari.in");
	ofstream o("permutari.out");

	int n = 0;
	f >> n;
	int V[8];

	int k = 0;
	V[k] = 0;
	while (k >= 0){
		bool valid = false;
		//V[k]++;
		while (V[k] < n && !valid){
			V[k]++;
			valid = eValid(V, k + 1);
		}
		if (valid){
			if (k == n - 1){
				for (int i = 0; i < n; i++){
					o << V[i] << " ";
				}
				k--;
				o <<'\n';
			}
			else{
				k++;
				V[k] = 0;
			}
		}
		else{
			k--;
		}
	}
	return 0;
}