using System.Collections.Generic;
adj[i] = new List<int>();
public void AddEdge(int src, int dest)
public bool isCycleUntill(int i, bool[] visited, bool[] recStack)
foreach(var child in children)
if(isCycleUntill(child, visited, recStack))
bool[] visited = new bool[V];
bool[] recStack = new bool[V];
if(isCycleUntill(i, visited, recStack))
public static void Main()
Console.Write(g.isCycle());