Pagini recente » Cod sursa (job #2676857) | Cod sursa (job #2404948) | Cod sursa (job #65963) | Cod sursa (job #1151745) | Cod sursa (job #116590)
Cod sursa(job #116590)
#include <stdio.h>
#define nmax 1001
int N, K, M, a, b, k, i;
int D[nmax][nmax], sol[nmax], used[nmax];
void io()
{
freopen("dusman.in", "r", stdin);
freopen("dusman.out", "w", stdout);
scanf("%d%d%d", &N, &K, &M);
for (i = 1; i <= M; ++i)
{
scanf("%d%d", &a, &b);
D[a][b] = D[b][a] = 1;
}
}
void solve (int p)
{
int om;
if (k == K) return;
if (p == N+1)
{
++k;
if (k == K)
{
for (i = 1; i < N; i++)
printf("%d ", sol[i]);
printf("%d\n", sol[i]);
}
}
else
{
for (om = 1; om <= N && k < K; om++)
if (!used[om] && !D[om][sol[p-1]])
{
sol[p] = om;
used[om] = 1;
solve(p+1);
used[om] = 0;
sol[p] = 0;
}
}
}
int main()
{
io();
solve(1);
return 0;
}