Floyd Warshall Algorithm Explained with Applications