Cod sursa(job #1458911)

Utilizator dyanagGrigore Diana dyanag Data 8 iulie 2015 19:10:04
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
using namespace std;

FILE *f=fopen("dusman.in", "r");
FILE *g=fopen("dusman.out", "w");

int n, m, kk, v[1002];
bool a[1002][1002], viz[1002];

void afisare(){
    for(int i=1; i<=n; ++i)
        fprintf(g, "%d ", v[i]);
}

void bkt(int k){
    if(k==n+1&&kk>0){
        --kk;
        if(kk==0)
            afisare();
        return;
    }
    if(kk>0)
        for(int i=1; i<=n; ++i)
            if(!viz[i]&&!a[v[k-1]][i]){
                v[k]=i;
                viz[i]=1;
                bkt(k+1);
                viz[i]=0;
            }
}

int main()
{
    fscanf(f, "%d%d%d", &n, &kk, &m);
    for(int i=1; i<=m; ++i){
        int x, y;
        fscanf(f, "%d%d", &x, &y);
        a[x][y]=1;
        a[y][x]=1;
    }
    bkt(1);
return 0;
}