Cod sursa(job #3364988)

Utilizator Iulya10Toader Iulia Iulya10 Data 15 septembrie 2026 10:30:35
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int n,K,m,cnt=0,d[1005][5],st[1005];
bool fr[1005];
bool valid(int k)
{
    if(fr[st[k]]==true) return 0;//l am mai pus
    for(int i=1; i<=d[k][0]; i++)
    {
        if(st[k-1]==d[st[k]][i]) return 0;//e dusman
    }
    return 1;
}
void afis()
{
    for(int i=1; i<=n; i++)
        fout<<st[i]<<" ";
    fout<<'\n';
}
void bk(int k)
{
    for(int i=1; i<=n; i++)
    {
        st[k]=i;
        if(valid(k))
        {
            fr[st[k]]=true;
            if(k==n)
            {
                cnt++;
                if(cnt==K)
                {
                    afis();
                    exit(0);
                }
            }
            else bk(k+1);
            fr[st[k]]=false;
        }
    }
}
int main()
{
    fin>>n>>K>>m;
    int a,b;
    for(int i=1; i<=m; i++)
    {
        fin>>a>>b;
        d[a][++d[a][0]]=b;
        d[b][++d[b][0]]=a;
    }

    bk(1);
    return 0;
}