Pagini recente » Cod sursa (job #895533) | Cod sursa (job #103947) | Cod sursa (job #2609292) | Cod sursa (job #587167) | Cod sursa (job #124854)
Cod sursa(job #124854)
#include <stdio.h>
#define NMax 1005
int N, K, M;
int D[NMax][3], deg[NMax], st[NMax], uz[NMax];
int dusman(int x, int y)
{
int i;
for (i = 0; i < deg[x]; i++)
if (D[x][i] == y)
return 1;
return 0;
}
void back(int nivel)
{
int i;
if (nivel == N+1)
{
K--;
if (!K)
{
for (i = 1; i <= N; i++)
printf("%d ", st[i]);
printf("\n");
}
return ;
}
for (i = 1; K && i <= N; i++)
if (!uz[i] && !dusman(st[nivel-1], i))
{
st[nivel] = i;
uz[i] = 1;
back(nivel+1);
uz[i] = 0;
}
}
int main(void)
{
int i, j;
freopen("dusman.in", "r", stdin);
freopen("dusman.out", "w", stdout);
scanf("%d %d %d", &N, &K, &M);
for (; M; M--)
{
scanf("%d %d", &i, &j);
D[i][deg[i]++] = j;
D[j][deg[j]++] = i;
}
back(1);
return 0;
}