Cod sursa(job #771505)

Utilizator SteveStefan Eniceicu Steve Data 26 iulie 2012 09:55:07
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

using namespace std;

int N, K, M, cnt;
int mat[1005][1005];
int v[1005];
int x[1005];

void Citire () {
	ifstream fin ("dusman.in");
	fin >> N >> K >> M;
	int A, B;
	for (int i = 0; i < M; i++)
	{
		fin >> A >> B;
		mat[A][B] = 1;
		mat[B][A] = 1;
	}
	fin.close ();
}

void Rec (int j) {
	if (j == N)
	{
		cnt++;
		return;
	}
	for (int i = 1; i <= N; i++)
	{
		if (!mat[v[j]][i] && !x[i])
		{
			v[++j] = i;
			x[i] = 1;
			Rec (j);
			if (cnt == K) return;
			x[i] = 0;
			j--;
		}
	}
}

void Scriere () {
	ofstream fout ("dusman.out");
	for (int i = 1; i <= N; i++)
		fout << v[i] << " ";
	fout.close ();
}

int main () {
	Citire ();
	Rec (0);
	Scriere ();
}