shortest path visiting all nodes java