Pagini recente » Cod sursa (job #632967) | Cod sursa (job #2223199) | Cod sursa (job #1583266) | Cod sursa (job #415843) | Cod sursa (job #1011437)
#include <fstream>
#include <bitset>
#define Nmax 1009
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int N,K,M,sol[Nmax];
bitset < Nmax > a[Nmax];
bitset < Nmax > gasit;
inline void ReadInput()
{
f>>N>>K>>M;
for (int i=1;i<=M;++i)
{
int x,y;
f>>x>>y;
a[x][y]=a[y][x]=1;
}
}
inline void PrintOutput()
{
for (int i=1;i<=N;++i)g<<sol[i]<<' ';
g<<'\n';
}
void Back(int vf)
{
if (K<0)
return;
if (vf>N)
{
--K;
if (K==0)PrintOutput();
return;
}
for (int i=1;i<=N;++i)
if (!gasit[i] && !a[sol[vf-1]][i])
{
sol[vf]=i;
gasit[i]=true;
Back(vf+1);
gasit[i]=false;
}
}
int main()
{
ReadInput();
Back(1);
f.close();g.close();
return 0;
}