Pagini recente » Cod sursa (job #1804706) | Cod sursa (job #772971) | Cod sursa (job #341007) | Cod sursa (job #1785616) | Cod sursa (job #1215938)
#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;
}