Cod sursa(job #2482224)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 27 octombrie 2019 21:39:57
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <iostream>
#include <cstdio>

using namespace std;

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


int st[1001], a[1001][1001], viz[1001], k, n, m, k1;


void afisare()
{
	for(int i = 1; i <= n; i++)
		out << st[i] << " ";
	out << '\n';
}

void bkt(int i)
{
	if ( k1 > k )
		return;
	if ( i == n + 1 ){
		k1 ++;
		if ( k1 == k ){
			afisare();
			return;
		}
	}
	for ( int j = 1; j <= n; j++ )
		if ( viz[j] == 0  && a[j][st[i - 1]] == 0){
			st[i] = j;
			bkt ( i + 1);
			viz[j] = 0;
		}
}


int main()
{
	ios::sync_with_stdio(false);
	int v1,v2;
	in >> n >> k >> m;

	for(int i = 1; i <= m ; i++)
	{
		in >> v1 >> v2;
		a[v1][v2] = 1;
		a[v2][v1] = 1;
	}

	bkt(1);

	in.close();
	out.close();

	return 0;
}