Cod sursa(job #2128963)

Utilizator Bogdan_BuzatuBuzatu Bogdan Mihai Bogdan_Buzatu Data 12 februarie 2018 12:46:49
Problema Dusman Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;

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

int v[1500][1500];
int f[1500], t[1500];
int i, x, y, m;
int n, k, ok;

void backt(int niv){
    if(ok==0){
        int i;
         if( niv >= n ){
            k--;
            if( k == 0 ){
                for(i=1;i<=n;i++){
                    fout<<t[i]<<" ";
                }
                ok = 1;
            }
        }else{
            for(i=1;i<=n;i++){
                if( !f[i] && !v[t[niv]][i] && !ok ){
                    f[i] = 1;
                    t[niv+1] = i;
                    backt(niv+1);
                    f[i] = 0;
                }
            }
        }
    }
}


int main(){

    fin>>n>>k>>m;

    for(i=1;i<=n;i++){
        fin>>x>>y;
        v[x][y] = v[y][x] = 1;
    }

    backt(0);

    return 0;
}