Задача 1. Диаметр и радиус
По матрице смежности неориентированного графа найти расстояния между всеми вершинами, эксцентриситет каждой вершины, диаметр, радиус, центр и периферию.
Как работает
Из каждой вершины запускается обход в ширину (BFS). Обход идёт «слоями»: сначала соседи стартовой вершины (расстояние 1), затем их ещё не посещённые соседи (расстояние 2) и так далее. Так получается строка матрицы расстояний.
Эксцентриситет вершины — наибольшее расстояние от неё до остальных. Диаметр — максимум эксцентриситетов, радиус — минимум. Центр — вершины с эксцентриситетом, равным радиусу, периферия — равным диаметру. Если какая-то вершина недостижима, граф несвязный, и диаметр с радиусом бесконечны.