Problem Description
Given an directed graph having A nodes. A matrix B of size M x 2
is given which represents the M edges such that there is a edge directed from node B[i][0] to node B[i][1].
Find whether the graph contains a cycle or not, return 1 if cycle is present else return 0.
NOTE:
2 <= A <= 105
1 <= M <= min(200000,A(A-1))
1 <= B[i][0], B[i][1] <= A
The first argument given is an integer A representing the number of nodes in the graph.
The second argument given a matrix B of size M x 2
which represents the M edges such that there is a edge directed from node B[i][0] to node B[i][1].
Return 1 if cycle is present else return 0.
Input 1:
A = 5 B = [ [1, 2] [4, 1] [2, 4] [3, 4] [5, 2] [1, 3] ]
Input 2:
A = 5 B = [ [1, 2] [2, 3] [3, 4] [4, 5] ]
Output 1:
1
Output 2:
0
Explanation 1:
The given graph contain cycle 1 -> 3 -> 4 -> 1 or the cycle 1 -> 2 -> 4 -> 1
Explanation 2:
The given graph doesn't contain any cycle.
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.