Задание: Разработать программу, реализующую оптимизационные алгоритмы на графах в соответствии со следующим заданием. - Для двух выделенных вершин графа построить соединяющий их простой путь. - Задан граф — не дерево. Проверить, можно ли превратить его в дерево удалением одной вершины вместе с ее ребрами. - В графе найти максимальное расстояние между всеми парами его вершин - Задана система односторонних дорог. Найти путь, соединяющий города А и В и не проходящий через заданное множество городов. - Задана система двусторонних дорог, где для любой пары городов есть соединяющий их путь. Найти город с минимальной суммой расстояний до остальных городов. - Создать управляющую программу с графическим интерфейсом. - Подготовить контрольный пример, демонстрирующий работу созданного программного комплекса.