Cod sursa(job #3364993)

Utilizator contandrei3Andrei Mihai contandrei3 Data 15 septembrie 2026 11:24:20
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("dusman.in");
ofstream fout ("dusman.out");
int n,k,m,v[1005],cnt;
bool prt[1005][1005],f[1005]; //0=gud, 1=dusmani
bool ok (int p)
{
    if ((p==1 || prt[v[p]][v[p-1]] == 0) && f[v[p]]==false)
        return true;
    else return false;
}
void solutie (int p)
{
    cnt++;
    if (cnt==k) {
        for (int i=1; i<=n; i++) fout<<v[i]<<" ";
        fout<<'\n';
        exit(0);
        }
}
void bck (int p)
{
    for (int i=1; i<=n && cnt<k; i++)
    {
        v[p]=i;
        if (ok(p)==true)
        {
            if (p==n) solutie (p);
            f[v[p]]=true;
            bck(p+1);
            f[v[p]]=false;
        }
    }
}
int main()
{
    fin>>n>>k>>m;
    while (m--)
    {
        int x,y;
        fin>>x>>y;
        prt[x][y]=prt[y][x]=1;
    }
    bck (1);
    return 0;
}