Cod sursa(job #1215938)

Utilizator xtreme77Patrick Sava xtreme77 Data 2 august 2014 19:50:39
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <bitset>

const char IN [ ] = "dusman.in";
const char OUT [ ] = "dusman.out";
const int MAX = 1014 ;

using namespace std;

ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;

bitset < MAX > uz ;
bool mat [ MAX ][ MAX ] ;
int n , k , sol [ MAX ];

void bkt ( int q )
{
    if ( k < 0 )
        return ;
    if ( q == n + 1 )
    {
        -- k ;
        if ( k == 0 )
            for ( int i = 1 ; i <= n ; ++ i )
                fout << sol [ i ] << ' ' ;
        return ;
    }
    else {
        for ( int i = 1 ; i <= n ; ++ i )
            if ( !uz [ i ] and !mat[ sol[ q - 1] ] [ i ] )
            {
                uz [ i ] = 1 ;
                sol [ q ] = i ;
                bkt ( q + 1 );
                uz [ i ] = 0 ;
            }
    }
}

int main()
{
    int m ;
    fin >> n >> k >> m ;
    while ( m -- )
    {
        int x , y ;
        fin >> x >> y ;
        mat [ x ] [ y ] = mat [ y ] [ x ] = 1 ;
    }
    bkt ( 1 ) ;
    return 0;
}