Cod sursa(job #2850185)

Utilizator loghin_antoniaLoghin Antonia loghin_antonia Data 16 februarie 2022 12:50:58
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <bits/stdc++.h>

using namespace std;
int n,k,m;
#define N 1005
bool r[N][N], f[N];
int x[N];
int ct;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
void B(int p)
{
    if(ct>k) return;
    if(p==n+1)
    {

        ct++;
        if(ct==k)
        {
            for(int i=1; i<=n; i++)
                fout<<x[i]<<" ";
            ct++;
        }
        //for(int i=1; i<=n; i++)
         //       cout<<x[i]<<" ";
           //     cout<<"\n";
        //cout<<ct<<" ";
        return;
    }
    if(p==1)
    for(int i=1;i<=n;i++)
    {
        x[1]=i;
        f[i]=1;
        B(2);
        f[i]=0;
    }
    else
    {
        for(int i=1;i<=n;i++)
            if(!f[i]&&(!r[i][x[p-1]]))
        {
            x[p]=i;
            //cout<<x[p-1]<<" "<<x[p]<<"\n";
            f[i]=1;
            B(p+1);
            f[i]=0;
        }
    }
}
int main()
{
    fin>>n>>k>>m;
    for(int i=1;i<=m;i++)
    {
        int a,b;
        fin>>a>>b;
        r[a][b]=1;r[b][a]=1;
    }
    B(1);//cout<<ct;
    return 0;
}