private int[] solve() { SearchNode s; // Symmetry constraint: color[start] = 0 s = branch(new SearchNode(), 0, 0, null); if (s != null) return s.solution(); else { int[] cs = new int[V]; for (int v = 0; v < V; v++) cs[v] = -1; return cs; } }