Cod sursa(job #3151230)

Utilizator Darius09Cristinescu Darius Petre Darius09 Data 20 septembrie 2023 11:25:36
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,m,k,K,sol;
int dus[1001][1001],st[10001],v[10001];

void afis(int k){
    for(int i = 1;i <= n; i++){
        fout << st[i] << " ";
    }
    exit(0);
}

void bkt(int k){
    for(int i = 1; i <= n; i++){
        if(v[i] == 0 && (dus[i][st[k-1]] == 0 || k == 1)){
            st[k] = i;
            v[i] = 1;
            if(k == n){
                sol++;
                if(sol == K){
                    afis(k);
                }
            }
            else
                bkt(k+1);
            v[i] = 0;
        }
    }
}

int main()
{
    fin >> n >> K >> m;
    for(int i = 1; i <= m; i++){
        int x,y;
        fin >> x >> y;
        dus[x][y] = 1;
        dus[y][x] = 1;
    }
    bkt(1);
    return 0;
}