Cod sursa(job #3322318)

Utilizator BuzdiBuzdugan Rares Andrei Buzdi Data 13 noiembrie 2025 13:54:26
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

#define cin fin
#define cout fout

using namespace std;

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

const int NMAX = 1000;

int n, k, m;
int sol[NMAX + 1];
int f[NMAX + 1];
bool g[NMAX + 1][NMAX + 1];

void back(int pos) {
    if(pos > n) {
        k--;
        if(!k) {
            for(int i = 1; i <= n; i++) {
                cout << sol[i] << ' ';
            }
            exit(0);
        }
        return;
    }

    for(int i = 1; i <= n; i++) {
        if(!f[i] && (pos == 1 || !g[sol[pos - 1]][i])) {
            f[i] = 1;
            sol[pos] = i;
            back(pos + 1);
            f[i] = 0;
        }
    }
}

int main() {
    cin >> n >> k >> m;
    for(int i = 1; i <= m; i++) {
        int a, b;
        cin >> a >> b;
        g[a][b] = 1;
        g[b][a] = 1;
    }

    back(1);
    return 0;
}