Cod sursa(job #3326288)

Utilizator mihai_spartanulMihai Lucescu Dimitrie mihai_spartanul Data 27 noiembrie 2025 23:43:09
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
using namespace std;

ifstream cin("dusman.in");
ofstream cout("dusman.out");

int n,K,m,x[1001],dusman[1001][1001],cont=0;
bool F[1001];

void afis(){
    for (int i=1;i<=n;i++)
        cout<<x[i]<<" ";
    cout<<"\n";
}

void back(int k){
    if (cont>=K) return;

    for (int i=1;i<=n;i++){
        if (!F[i]){
            if (k>1 && dusman[i][x[k-1]]) continue;
            x[k] = i;
            F[i] = true;
            if (k==n) {
                cont++;
                if (cont == K) afis();
            } else {
                back(k + 1);
            }

            F[i]=false;
        }
    }
}

int main() {
    cin>>n>>K>>m;
    for (int i=1;i<=m;i++) {
        int a,b;
        cin>>a>>b;
        dusman[a][b]=dusman[b][a]=1;
    }
    back(1);
    return 0;
}