Cod sursa(job #2925321)

Utilizator 11111theodorSebastian Theodor-Ioan 11111theodor Data 14 octombrie 2022 11:00:04
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;


ifstream fin("dusman.in");
ofstream fout("dusman.out");
bool fr[1005]; // used
int st[1005]; // stiva -- sol
bool a[1005][1005];
int n, cnt, k, m;
void Write()
{
    cnt++;
    if (cnt == k){
        for (int i = 1; i <= n; i++)
            fout << st[i] << " ";
        fout << "\n";
    }
}
void bkt(int top)
{
    if (top > n)
    {
        Write();
        return;
    }
    for (int i = 1; i <= n; i++){
        if ( fr[i] || a[st[top - 1]][i] )
            continue;

        st[top] = i;
        fr[i] = 1;
        bkt(top + 1);
        fr[i] = 0;
    }
}

int main()
{
    fin >> n >> k >> m;
    for (int i = 1; i <= m; i++){
        int x, y;
        fin >> x >> y;
        a[x][y] = a[y][x] = 1;

    }
    bkt(1);
    return 0;
}