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
Коментарі