public static int Answer(int numOfNodes, Edge[] edgeLists) { if (numOfNodes == 1) { return(1); } int n2 = numOfNodes * numOfNodes; int[] edges = new int[n2]; foreach (Edge t in edgeLists) { int a = t.EdgeA - 1; int b = t.EdgeB - 1; edges[a * numOfNodes + b] = 1; edges[b * numOfNodes + a] = 1; } GraphArr g = new GraphArr(numOfNodes, edges); Solution solution = new Solution(g); return(solution.FindSolution()); }
public Solution(GraphArr g) { this.graph = g; this.k = 0; }