This approach is pretty well-known. See Bellman-Ford [1] and Floyd-Warshall [2] algorithms.
[1] https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm
[2] https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorit...
[1] https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm
[2] https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorit...