Problem of the day
Consider the number of vertices is 4 and number of edges is 3, and the array of edges is:
[ [0, 1]
[1, 2]
[2, 3] ]
there exists one path between 0 and 2, which is 0 -> 1 -> 2. Hence, the answer is 'true'.
The first line of input contains an integer ‘T’, the number of test cases.
The first line of each test case contains two space-separated integers, ‘V’, and ‘E’, which denote the number of vertices and edges in the graph.
The next 'E' lines will denote the edges of the graph where every edge is defined by two space-separated integers 'Edges[i][0]’ and 'Edges[i][1]', which signifies an edge from vertex 'Edges[i][0]’ to vertex 'Edges[i][1]’.
The last line of each test case contains two integers, ‘source’ and ‘destination’.
For each test case, print 'true' if there exists a path from vertex 'source' to 'destination'. Otherwise, print 'false'.
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, E <= 10 ^ 5
0 <= Edges[i][0], Edges[i][1] < V
0 <= source, destination < V
Time Limit: 1 sec
2
3 3
0 1
1 2
1 0
0 2
4 2
1 2
0 3
0 2
true
false
In test case 1:
In this, there are 3 vertices and 3 edges, and there is a path between 0 and 2 which is 0 -> 1 -> 2. Hence, the answer is true.
In test case 2:
In this, there are 4 vertices and 2 edges, and there is no path between 0 and 2. Hence, the answer is false.
1
4 5
0 1
0 2
1 2
2 0
2 3
3 1
false
There are 4 vertices and 5 edges, and there is no path between 3 and 1, so our answer is false.