Cod sursa(job #2258764)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 11 octombrie 2018 22:58:32
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

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

int n, p, m, i, a, b, cnt, x[1005], fv[1005], mat[1005][1005];

void afisare (int k)
{
    int i;
    cnt++;
    if (cnt == p){
        for (i=1; i<=n; i++){
            fout << x[i] << " ";
        }
    }
}

void bkt (int k)
{
    int i;
    if (k == n + 1){
        afisare(n);
        return ;
    }
    for (i=1; i<=n; i++){
        if (fv[i] == 0 && mat[x[k-1]][i] ==0){
            x[k] = i;
            fv[i]++;
            bkt(k+1);
            if (cnt == p)
                return ;
            fv[i]--;
        }
    }
}

int main()
{
    fin >> n >> p >> m;
    for (i=1; i<=m; i++){
        fin >> a >> b;
        mat[a][b] = mat[b][a] = 1;
    }
    bkt(1);
    return 0;
}