Cod sursa(job #2475777)

Utilizator LucianTLucian Trepteanu LucianT Data 17 octombrie 2019 16:13:20
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
using namespace std;

const int maxN=1001;

ifstream f("dusman.in");
ofstream g("dusman.out");

int n,m,k;
bool enemy[maxN][maxN];

int vis[maxN];
int stk[maxN];

void bkt(int p){
    if(k==0){
        return;
    }

    if(p==n+1){
        k--;
        if(k==0){
            for(int i=1;i<=n;i++){
                g<<stk[i]<<" ";
            }
        }

        return;
    }

    for(int i=1;i<=n;i++){
        if(vis[i]==false && enemy[i][stk[p-1]]==false){
            vis[i]=true;
            stk[p]=i;

            bkt(p+1);

            vis[i]=false;
            stk[p]=0;
        }
    }
}

int main(){
    f>>n>>k>>m;
    for(int i=1;i<=m;i++){
        int x,y;
        f>>x>>y;
        enemy[x][y]=true;
        enemy[y][x]=true;
    }

    bkt(1);

    return 0;
}