Cod sursa(job #3142802)

Utilizator MAlex2019Melintioi George Alexandru MAlex2019 Data 24 iulie 2023 16:22:14
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int maxn = 1000;
bool deny[maxn + 1][maxn + 1];

int n, k, cnt;
int seq[maxn + 1];
bool used[maxn + 1];
void backtrack(int poz) {
    if (poz > n) {
        cnt++;
        if (cnt == k) {
            for (int i = 1; i <= n; i++)
                fout << seq[i] << ' ';
            exit(0);
        }
        return;
    }
    for (int i = 1; i <= n; i++)
        if (!used[i] && !deny[i][seq[poz - 1]]) {
            seq[poz] = i;
            used[i] = true;
            backtrack(poz + 1);
            used[i] = false;
        }
}

int main() {
    int m;
    fin >> n >> k >> m;
    for (int i = 0; i < m; i++) {
        int x, y;
        fin >> x >> y;
        deny[x][y] = deny[y][x] = true;
    }
    backtrack(1);


    return 0;
}