MITProblemSet2 Second problem set from the 6.0002 Course this time on building graphs and finding the shortest path