Cod sursa(job #3364989)

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

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