Cod sursa(job #3128969)

Utilizator PHOSSESSEDProsie Radu-Teodor PHOSSESSED Data 11 mai 2023 19:33:49
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>
#include<bitset>
using namespace std;

ifstream cin("dusman.in");
ofstream cout("dusman.out");

constexpr int NMAX = 1 << 10;

int n,k,m,a,b,now;

bitset<NMAX> dus[NMAX],pus;

int sol[NMAX];

void bkt(int l)
{

    if(l == n + 1)
        {
            now++; if(now != k) return;
            for(int i = 1; i <= n ; i++) cout << sol[i] << " ";
            exit(0);
        }

    for(int i = 1; i <= n ; i++)
        {
            if(!pus[i] && !dus[i][sol[l - 1]])
                {
                    pus[i] = 1;
                    sol[l] = i;
                    bkt(l + 1);
                    pus[i] = 0;
                }
        }
}

int main()
{
    cin >> n >> k >> m;
    for(int i = 1; i <= m ; i++)
        {
            cin >> a >> b;
            dus[a][b] = dus[b][a] = 1;
        }

    bkt(1);
}