Given a graph with N nodes and M directed edges. Your task is to complete the function kosaraju() which returns an integer denoting the number of strongly connected components in the graph.

The first line of input contains an integer T. Then T test cases follow. Each test case contains two integers N and M . In the next line there are M space separated values u,v denoting an edge from u to v.

For each test case in a new line output will an integer denoting the no of strongly connected components present in the graph.

User Task:
Since this is a functional problem you don't have to worry about input, you just have to complete the function kosaraju().

1 <= T <= 100
1 <= N,M <= 100
0 <= u,v <= N-1

5 5
1 0 0 2 2 1 0 3 3 4
3 3
0 1 1 2 2 0


Testcase 1:

There is a connected subgraph that includes 0-1-2 which satisfy the condition of strongly connecting components i.e each node is reachable from every other nodes.

Another subgraph includes individual nodes 4 and 3 . That gives us count of total 3 subgraphs satisfying the condition of strongly connected components. 

** For More Input/Output Examples Use 'Expected Output' option **

Author: Shubham Joshi 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Need help with your code? Please use, generate link and share the link here.

to report an issue on this page.