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.

**Input:**

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.

**Output:**

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().**

**Constraints:**

1 <= T <= 100

1 <= N,M <= 100

0 <= u,v <= N-1

**Example:
Input**:

2

5 5

1 0 0 2 2 1 0 3 3 4

3 3

0 1 1 2 2 0

**Output:**

3

1

**Explanation:
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.

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.

akhyasharma01 | 467 |

ASWATHAMA | 399 |

john_wick | 360 |

mmzeineddine | 295 |

PiyushPandey4 | 271 |

PiyushPandey4 | 614 |

ASWATHAMA | 561 |

akhyasharma01 | 547 |

john_wick | 521 |

rahulnishad96 | 442 |

blackshadows | 5362 |

Ibrahim Nash | 5242 |

akhayrutdinov | 5111 |

mb1973 | 4929 |

Quandray | 4598 |

Login to report an issue on this page.