public static void Main()
int[][] edges = new int[5][];
edges[0] = new int[] { 1, 4 };
edges[1] = new int[] { 3 };
edges[2] = new int[] { 4 };
edges[3] = new int[] { 4 };
edges[4] = new int[] { 0 };
bool [,] m = MatrixOfList(edges);
Console.WriteLine(" " + "0123456789".Substring(0, edges.Length));
for(int vertexFrom = 0; vertexFrom < edges.Length; vertexFrom++)
Console.Write("{0} ", vertexFrom);
for(int vertexTo = 0; vertexTo < edges.Length; vertexTo++)
Console.Write("{0}", m[vertexFrom, vertexTo] ? "T" : ".");
public static bool[,] MatrixOfList(int [][] edges)
bool[,] m = new bool[V,V];
for(int vertexFrom = 0; vertexFrom < V; vertexFrom++)
foreach(int vertexTo in edges[vertexFrom])
m[vertexFrom, vertexTo] = true;