Cod sursa(job #1679273)

Utilizator nenciu.biancaNenciu Bianca nenciu.bianca Data 7 aprilie 2016 20:22:28
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb

#include <iostream>
#include <algorithm>
#include <vector>
#include <fstream>
using namespace std;
 ifstream f("permutari.in");
 ofstream g("permutari.out");

std::vector<int> v;
int n;

void afisare(int k)
{
	int i;
	for(int i = 1; i <= k; ++i)
		g << v[i] << " ";
	g << endl;
}

int verifica(  std::vector<int> &v,int k){
	int i;
	for(int i = 1; i <= k - 1; ++i){
		if( v[i] == v[k])
			return 0;
	}
		return 1;

}
void permutare(std::vector<int> &v, int k){
	int i;
	for(int i = 1; i <= n; ++i){
		v[k] = i;
		if( verifica(v,k)){
			if( k == n){ // daca am gasit solutie
				afisare(k);
			} 
			else
				permutare(v,k + 1);
		}
	}
}
	

int main(){

	f >> n;
	v.resize(n + 1);
	permutare(v,1);
	return 0;
}