Cod sursa(job #2474053)

Utilizator ValentinSavoiuFMI Savoiu Valentin-Marian ValentinSavoiu Data 14 octombrie 2019 17:52:16
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>
#include <cstdlib>
#define pii pair<int, int>
#define pb push_back

#define NMAX 7003
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int minCost, cost;
int N, M, K, x, y;
int a[1001][1001];
int use[1001];
int v[1001];
int cnt = 0;
void bkt (int k) {
    if (cnt == K) return;
    if (k == N + 1) {
        ++cnt;
        if (cnt == K) {
            for (int i = 1; i <= N; ++i)
                g << v[i] << ' ';
            g << '\n';
        }
        return;
    }
    for (int i = 1; i <= N; ++i) {
        if (use[i]) continue;
        if (a[v[i - 1]][i]) continue;
        v[k] = i;
        use[i] = 1;
        bkt(k + 1);
        use[i] = 0;
    }
}
int main() {
    f >> N >> K >> M;
    for (int i = 0; i < M; ++i) {
        f >> x >> y;
        a[x][y] = a[y][x] = 1;
    }
    bkt(1);
    return 0;
}