Pagini recente » Cod sursa (job #1566890) | Cod sursa (job #614224) | Cod sursa (job #383926) | Cod sursa (job #3141617) | Cod sursa (job #961212)
Cod sursa(job #961212)
#include<fstream>
#include<bitset>
#define NMAX 1005
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
bitset <NMAX> a[NMAX];
bitset <NMAX> used;
int N,K,M,NumberSolutions;
int sol[NMAX];
void Read ( void )
{
f>>N>>K>>M;
for(int i(1) ; i <= M ; ++i )
{
int x,y;
f>>x>>y;
a[x][y]=true;
a[y][x]=true;
}
f.close();
}
void Write ( void )
{
for(int i(1) ; i <= N ; ++i )
g<<sol[i]<<" ";
g.close();
}
void Bkt( int number )
{
if( number == N+1 )
{
++NumberSolutions;
if( NumberSolutions == K )
{
Write();
exit(0);
}
}
else
{
for(int i(1) ; i <= N ; ++i )
{
if( !used[i] && !a[sol[number-1]][i] && !a[i][sol[number-1]] )
{
sol[number]=i;
used[i]=true;
Bkt(number+1);
used[i]=false;
}
}
}
}
void Solve ( void )
{
Bkt(1);
}
int main ( void )
{
Read();
Solve();
return 0;
}