Cod sursa(job #754391)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 1 iunie 2012 22:09:33
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream in("dusman.in");
ofstream out("dusman.out");

int sol[1010], N, M, K;
bool a[1010][1010], viz[1010];

void back(int l)
{
	int i;
	
	if(K < 0)
		return;
	
	if(l > N){
		if(--K == 0){
			for(i = 1; i <= N; ++i)
				out << sol[i] << " ";
		
			return;
		}
	}
	else{
		for(i = 1; i <= N; ++i)
			if(!viz[i] && !a[ sol[l - 1] ][i]){
				sol[l] = i;
				viz[i] = 1;
				back(l + 1);
				viz[i] = 0;
			}
	}
}

int main()
{
	int i, x, y;
	
	in >> N >> K >> M;
	
	for(i = 1; i <= M; ++i){
		in >> x >> y;
		
		a[x][y] = a[y][x] = 1;
	}
	
	back(1);
	
	return 0;
}