Problem: Suppose we represent the map of a state using a graph where cities are vertices and cities are connected by edges if there is a road that goes directly from one to the other. The graph is weighted where the weight of each edge is how long the road is. So if city x and city y are connected by a road that is 10km in length, there is an edge in the graph with weight 10 between x and y. Person A and person B live in two different cities, say city a and city b. They decide they want to meet somewhere in the middle to catch up. Both A and B start driving at the same time and at the same speed of 60km/h. Design an algorithm that outputs the city they should both be driving to in order to minimize the driving time.