### Question:
ReachableVertex { public static int solveDigraph(Set<Integer>[] digraph) { return 0; }  static int solveDAG(Set<Integer>[] dag); static int solveDigraph(Set<Integer>[] digraph);  }### Answer:
@Test public void testSolveDigraph() { int N = 200; Random r = new Random(); for (int i = 5; i < N; i += r.nextInt(15)) { Digraph digraph = DigraphGenerator.simple(i, r.nextInt(i * (i - 1))); TransitiveClosure tc = new TransitiveClosure(digraph); int test = ReachableVertex.solveDigraph(GraphConverter.convert(digraph)); if (test == -1) { Assert.assertTrue(checkNoThatPoint(tc, i)); } else { Assert.assertTrue(checkThatPoint(tc, test, i)); } } }