Cod sursa(job #2479506)

Utilizator lucianistratiIstrati Lucian lucianistrati Data 23 octombrie 2019 21:18:47
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <math.h>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int N,M,K;
bool hate[1010][1010];

int perm[1010],viz[1010],contor;
void afisare(int n)
{
    int i,ok=0;
    for(i=1;i<=n;i++)
    {
        fout<<perm[i]<<" ";
    }
    fout<<"\n";
}
void bkt(int k,int n)
{
    if(k==n+1)
    {
            contor++;
            if(contor==K)
            {
                afisare(n);
                exit(EXIT_SUCCESS);
            }
        return;
    }
    else
    {
        int i;
        for(i=1;i<=n;i++)
        {
            if(viz[i]==0 && hate[perm[k-1]][i]==false)
            {
                viz[i]=1;
                perm[k]=i;
                bkt(k+1,n);
                viz[i]=0;//undo
                //perm[k]=0;//undo
            }
        }
    }
}
int main()
{
    int i;
    fin>>N>>K>>M;
    for(i=1;i<=M;i++)
    {
        int a,b;
        fin>>a>>b;
        hate[a][b]=true;
        hate[b][a]=true;
    }
    bkt(1,N);
    return 0;
}