Cod sursa(job #3356049)

Utilizator rares89_Dumitriu Rares rares89_ Data 29 mai 2026 03:15:00
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, m;
long long k, contor = 0;
bool dusmani[1005][1005];
int sir[1005];
bool folosit[1005];

void back(int pos) {
    if (contor == k) return;
    
    if (pos > n) {
        contor++;
        if (contor == k) {
            for (int i = 1; i <= n; ++i) {
                fout << sir[i] << (i == n ? "" : " ");
            }
            fout << "\n";
        }
        return;
    }
    
    for (int i = 1; i <= n; ++i) {
        if (!folosit[i]) {
            if (pos > 1 && dusmani[sir[pos - 1]][i]) continue;
            
            folosit[i] = true;
            sir[pos] = i;
            back(pos + 1);
            if (contor == k) return;
            folosit[i] = false;
        }
    }
}

int main() {
    fin >> n >> k >> m;
    for (int i = 0; i < m; ++i) {
        int u, v;
        fin >> u >> v;
        dusmani[u][v] = dusmani[v][u] = true;
    }
    
    back(1);
    
    fin.close();
    fout.close();
    return 0;
}