Cod sursa(job #3174228)

Utilizator MilitaruMihaiMihaiMIlitaru MilitaruMihai Data 24 noiembrie 2023 14:58:01
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int n,k,t,nr,use[1001],f[1001][1001],s[1001];
int verif()
{
    for (int i=2;i<=n;i++)
        if (f[s[i]][s[i-1]]==1) return 0;
    return 1;
}
void afis()
{
    for (int i=1;i<=n;i++)
        fout<<s[i]<<' ';
        fout<<'\n';
        //nr++;
    exit(0);
}
void bkt(int p)
{
    if (p==n+1)
    {
        if (verif()) nr++;
        if (nr==k) afis();
    }
    else for (int i=1; i<=n; i++)
    {
        if (use[i]==0)
            {
                use[i]=1;
                s[p]=i;
                bkt(p+1);
                use[i]=0;
            }
    }
}
int main()
{
    fin>>n>>k>>t;
    int a,b;
    for (int i=1; i<=t; i++)
    {
        fin>>a>>b;
        f[a][b]=1;
        f[b][a]=1;
    }
    bkt(1);
    return 0;
}