Pagini recente » Cod sursa (job #808075) | Cod sursa (job #2825411) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #381961) | Cod sursa (job #1012071)
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
bitset < 1005 > a[1005];
bitset < 1005 > used;
int N, M, K, sol[1005], x, y;
void print()
{
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) print();
return;
}
for (int i=1; i<=N; ++i)
if (!used[i] && !a[sol[vf-1]][i])
{
used[i]=1; sol[vf]=i;
back(vf+1);
used[i]=0;
}
}
int main()
{
f>>N>>K>>M;
for (int i=1; i<=M; ++i)
{
f>>x>>y;
a[x][y]=a[y][x]=1;
}
back(1);
return 0;
}