Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int n, m, x, y, p, q;
- int a[21][21], viz[21], sol[21];
- void DFS (int x, int len) {
- sol[len++] = x;
- viz[x] = 1;
- for (int i = 1; i <= n; i++) {
- if (a[x][i] && viz[i] == 0) {
- DFS(i, len);
- viz[i] = 0;
- }
- }
- if (sol[0] == p && sol[len-1] == q) {
- for (int i = 0; i < len; i++) {
- printf("%d ", sol[i]);
- }
- printf("\n");
- }
- }
- int main() {
- freopen("lant.in", "r", stdin);
- freopen("lant.out", "w", stdout);
- scanf("%d %d", &n, &m);
- for (int i = 0; i < m; i++) {
- scanf("%d %d", &x, &y);
- if (a[x][y] == 0) {
- a[x][y] = a[y][x] = 1;
- }
- }
- scanf("%d %d", &p, &q);
- DFS(p, 0);
- return 0;
- }
Add Comment
Please, Sign In to add comment