



For the given graph, we have to find the shortest distance between vertices 1 and 3.
The shortest distance between 1 and 3 is 2 (via 1 <-> 2<-> 3). Hence, the answer is 2.
The first line of the input contains an integer, 'T,’ denoting the number of test cases.
The first line of each test case contains three integers ‘V’, ‘E’, ‘Q’, denoting the number of vertices, the number of edges in the graph, and the number of queries.
The Next ‘E’ lines of each test case have three integers ‘u’,’v’,’w’ corresponding to vertices ‘u’ and ‘v’ are connected with a weight ‘w’.
The Next ‘Q’ lines of each test case have two integers, ‘u’,’v’ representing two vertices.
For each test case, print ‘Q’ lines, each line has one integer corresponding to the minimum distance for the given query.
Print the output of each test case in a separate line.
You do not need to print anything. It has already been taken care of. Just implement the given function.
1 <= T <= 5
1 <= V <= 100
1 <= E <= (V *(V - 1)) / 2
1 <= Q <= 10^5
1 <= u , v <= V
1 <= w <= 10^6
Time limit: 1 sec
We will run Dijkstra Algorithm for all vertices in this approach and store the minimum distance in an array. Then we can answer the queries using this distance array.
Dijkstra Algorithm is one of the most popular algorithms in graph theory. A single-source shortest path algorithm gives the shortest path length to all vertices from a given vertex known as the source vertex. It is a greedy algorithm that uses a priority queue(Binary Heap) to pick the shortest distance edges until the minimum distance of all vertices is calculated.
In this approach, we will calculate the shortest path between all pairs of vertices using already computed values. This algorithm is known as Floyd Warshall Algorithm.
Floyd Warshall Algorithm is a dynamic programming approach in which we try to find the shortest distance of a pair of vertices using an intermediate vertex as shown below -:
dist[index1][index2]=min(dis[index1][index2],dis[index1][k] + dis[k][index2])
where k is the intermediate vertex.