Cod sursa(job #2878783)

Utilizator and_Turcu Andrei and_ Data 27 martie 2022 17:53:35
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>
#define N 1009
using namespace std;

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

int n,m,k;
int a[N],rel[N][N],disponibil[N],ct;
/// n dusmani potentiali
/// m nr rel de dusmanie
/// k a cata aranjaree

void Afisare()
{
    for(int i=1;i<=n;i++)
        fout << a[i] << " ";
    fout.close();
}

void Gen(int lg)
{
    if(lg==n)
    {
        ct++;
        if(ct==k)
            Afisare();
    }
    else
    {
        lg++;
        for(int i=1;i<=n;i++)
            if( lg==1 or ( !disponibil[i] and !rel[i][a[lg-1]] ) )
            {
                a[lg]=i;
                disponibil[i]=1;
                Gen(lg);
                disponibil[i]=0;
            }
    }
}




int main()
{
    fin >> n >> k >> m;
    for(int i=1;i<=m;i++)
    {
        int st,dr;
        fin >> st >> dr;
        rel[st][dr]=rel[dr][st]=1;
    }
    Gen(0);

    return 0;
}