Создать программу, которая реализует поиск кратчайшего пути между двумя произвольными вершинами графа. Номера вершин для поиска пути между ними пользователь должен ввести самостоятельно. Также нужно реализовать очередь в виде динамической структуры данных. Также нужно обеспечить нахождение пути в случаях взвешивания графа. Реализовать граф с помощью списков смежности.