Given a directed graph, the task is to complete the method **isCyclic()** to detect if there is a cycle in the graph or not. You should not read any input from stdin/console. There are multiple test cases. For each test case, this method will be called individually.

**Input:** The first line of the input contains an integer **'T'** denoting the number of test cases. Then **'T'** test cases follow. Each test case consists of two lines. Description of testcases is as follows: The First line of each test case contains two integers **'N' and 'M' ** which denotes the no of vertices and no of edges respectively. The Second line of each test case contains **'M' ** space separated pairs **u** and **v** denoting that there is an uni-directed edge from **u** to **v** .

**Output:**

The method should return **1** if there is a cycle else it should return **0**.

User task:

Since this is a functional program you don't have to worry about input, you just have to complete the function

**Constraints:**

1 <= T <= 1000

1<= N,M <= 1000

0 <= u,v <= N-1

**Example:
Input:**

3

2 2

0 1 0 0

4 3

0 1 1 2 2 3

4 3

0 1 2 3 3 2

1

0

1

**Explanation:
Testcase 1:** In the above graph there are 2 vertices. The edges are as such among the vertices.

From graph it is clear that it contains cycle.

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.

saiujwal13083 | 347 |

isiddhisingh | 252 |

Abhishek_Jadhav | 243 |

_uncle_sam_ | 221 |

c_ocoooo | 217 |

saiujwal13083 | 610 |

SumitSingh27 | 466 |

c_ocoooo | 456 |

rathiarpit29 | 379 |

NaveenKumarNakka | 370 |

blackshadows | 5362 |

Ibrahim Nash | 5242 |

akhayrutdinov | 5111 |

mb1973 | 4931 |

Quandray | 4598 |

Login to report an issue on this page.