Cod sursa(job #2076213)

Utilizator lucametehauDart Monkey lucametehau Data 26 noiembrie 2017 12:35:42
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>

using namespace std;

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

const int N_MAX = 1000;

int n, k, m;
int x, y;
int config;

bool dusman[1 + N_MAX][1 + N_MAX];

int v[1 + N_MAX];
bool f[1 + N_MAX];

void Bkt(int niv)
{
    for(int i = 1; i <= n; i++)
    {
        if(f[i] == 0)
        {
            v[niv] = i;
            f[i] = 1;
            if(dusman[v[niv]][v[niv - 1]] == 0)
            {
                if(niv == n)
                {
                    config++;
                    if(config == k)
                    {
                        for(int i = 1; i <= n; i++)
                            cout << v[i] << " ";
                        return;
                    }
                }
                else
                    Bkt(niv + 1);
            }
        }
        f[i] = 0;
    }
}

int main()
{
    cin >> n >> k >> m;

    for(int i = 1; i <= m; i++)
    {
        cin >> x >> y;
        dusman[x][y] = 1;
        dusman[y][x] = 1;
    }

    Bkt(1);
    return 0;
}