10890. Шлях


Відправити розв'язок

Бали: 100
Time limit: 5.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У неорієнтованому графі потрібно знайти мінімальний шлях між двома вершинами.

Формат вхідних даних

Першим на вхід надходить число \(N\) – кількість вершин у графі (\(1 ≤ N ≤ 100\)).

Потім записана матриця суміжності (0 означає відсутність ребра, 1 – наявність ребра).

Далі задаються номери двох вершин – початкової та кінцевої.

Формат вихідних даних

Виведіть спочатку \(L\) - довжину найкоротшого шляху (кількість ребер, які потрібно пройти), а потім сам шлях. Якщо шлях має довжину 0, його виводити не потрібно, досить вивести довжину. Необхідно вивести шлях (номери всіх вершин у правильному порядку). Якщо шляхів немає, потрібно вивести -1.

Приклад вхідних даних

5
0 1 0 0 1
1 0 1 0 0
0 1 0 0 0
0 0 0 0 0
1 0 0 0 0
3 5

Приклад вихідних даних

3
3 2 1 5

Коментарі

Ще немає коментарів.