fix reconstructing shortest Hamilton path

easy test:
dist[3][3] = 
8 1 6
3 5 7
4 9 2

Returned path is 1 3 2
Correct path is 3 1 2