Cod sursa(job #1513730)

Utilizator din99danyMatei Daniel din99dany Data 29 octombrie 2015 21:48:33
Problema Dusman Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>
using namespace std;

int v[1500][1500];
int f[1500], t[1500];

int n, k, ok;

void back_track( int niv ){

    int i;

    if( niv >= n ){
        k--;
        if( k == 0 ){
            for( i = 1; i <= n; ++i ) printf("%d ",t[i]);
            ok = 1;
        }
        return ;
    }

    for( i = 1; i <= n; ++i ){
        if( !f[i] && !v[t[niv]][i] && !ok ){
            f[i] = 1;
            t[niv+1] = i;
            back_track( niv + 1 );
            f[i] = 0;
        }
    }

}


int main()
{

    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);

    int i, x, y, m;

    scanf("%d%d%d",&n,&k,&m);
    for( i = 1; i <= n; ++i ){
        scanf("%d%d",&x,&y);
        v[x][y] = v[y][x] = 1;
    }

    back_track( 0 );

    return 0;
}