Cod sursa(job #2871844)

Utilizator andreiiorgulescuandrei iorgulescu andreiiorgulescu Data 15 martie 2022 20:38:59
Problema Dusman Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,k,m;
bool dus[1005][1005],viz[1005];
int v[1005],pos;

void backt()
{
    if (pos == k)
        return;
    if (v[0] < n)
    {
        for (int i = 1; i <= n; i++)
        {
            if (dus[i][v[v[0]]] == false and viz[i] == false)
            {
                v[0]++;
                v[v[0]] = i;
                viz[i] = true;
                backt();
                viz[i] = false;
                v[0]--;
            }
        }
    }
    else
    {
        pos++;
        if (pos == k)
            for (int i = 1; i <= n; i++)
                out << v[i] << ' ';
    }
}

int main()
{
    in >> n >> k >> m;
    for (int i = 1; i <= m; i++)
    {
        int x,y;
        in >> x >> y;
        dus[x][y] = dus[y][x] = true;
    }
    backt();
    return 0;
}