Cod sursa(job #966415)

Utilizator dropsdrop source drops Data 25 iunie 2013 21:07:26
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <queue>
#include <deque>
#include <list>
#include <string>
#include <algorithm>
using namespace std;
ifstream ff("permutari.in");
ofstream gg("permutari.out");

int n, oo[10];
bool ww[10];

void gen(int k){
	ww[oo[k]]=0;
	for(int i=oo[k]+1;i<=n;i++)
	if(!ww[i]){ ww[i]=1; oo[k]=i; return; }
	gen(k-1);
	for(int i=1;i<=n;i++)
	if(!ww[i]){ ww[i]=1; oo[k]=i; return; }
}

void per(){int s=0;
	for(int i=1;i<=n;i++) { oo[i]=i; ww[i]=1; }
	do{
		for(int i=1;i<=n;i++) gg << oo[i] << " "; gg << "\n";
		gen(n);
	}while(oo[0]==0);
}

int main(){
	ff >> n;
	per();	
	return 0;
}