Cod sursa(job #1869182)

Utilizator flibiaVisanu Cristian flibia Data 5 februarie 2017 17:26:01
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

int n, s[21];

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

void print(int k){
	for(int i = 1; i <= k; i++) cout << s[i] << ' ';
	cout << '\n';
}

bool sol(int k){
	return k == n;
}

void back(int k){
	int i;
	for(i = 1; i <= n; i++){
		s[k] = i;
		if(valid(k)){
			if(sol(k)) print(k);
			else back(k+1);
		}
	}
}

int main(){
	ifstream cin("permutari.in");
	ofstream cout("permutari.out");
	cin >> n;
	back(1);
	return 0;
}