Cod sursa(job #2646417)

Utilizator saeed_odakSaeed Odak saeed_odak Data 1 septembrie 2020 10:03:14
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
// Oh damn, cann't you see I'm fine?

#include <bits/stdc++.h>
using namespace std;

#define endl '\n'

const int N = 1e3 + 5;

int n, k, m;
bool en[N][N];
bool mark[N];
int who[N];
int cnt = 0;

void dfs(int last, int id) {
	if(id == n) {
		cnt++;
		if(cnt == k) {
			for(int i=0; i<n; i++) cout << who[i] << " ";
			exit(0);
		}
		return;
	}
	for(int i=1; i<=n; i++) {
		if(!en[i][last] && !mark[i]) {
			mark[i] = 1;
			who[id] = i;
			dfs(i, id+1);
			mark[i] = 0;
		}
	}
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	freopen("dusman.in", "r", stdin);
	freopen("dusman.out", "w", stdout);

	cin >> n >> k >> m;
	for(int i=0; i<m; i++) {
		int x, y;
		cin >> x >> y;
		en[x][y] = en[y][x] = 1;
	}
	dfs(0, 0);

	return 0;
}