Cod sursa(job #1010590)

Utilizator ELHoriaHoria Cretescu ELHoria Data 15 octombrie 2013 12:31:33
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <string>
#include <sstream>
#include <algorithm>
#include <functional>
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <cassert>
#include <cstring>
#include <unordered_map>
#define pii pair<int,int>
#define x first
#define y second
#define mp make_pair
#define REP(i,n) for(int i = 0;i < (int)n;i++)
#define i64 long long

using namespace std;


const int nmax = 15;
int v[nmax];	
bool a[nmax];
int n;

void go(int k) {
	if(k == n) {
		for(int i = 0;i < n;i++) {
			cout<<v[i]<<" ";
		}
		cout<<"\n";
	} else {
		for(int i = 1;i <= n;i++) {
			if(!a[i]) {
				a[i] = true;
				v[k] = i;
				go(k + 1);
				a[i] = false;
			}
		}
	}
}

int main()
{
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	cin.sync_with_stdio(false), cout.sync_with_stdio(false);
	cin>>n;
	go(0);
	return 0;
}