#include #include #include using namespace std; int* edges; int* inputs; int* ids; int* numEdges; int* numEdges2; int* order; int* result; int colors; int N; void dfs(int id, int col, int from) { int color = 0; for(int i=0;i>N; edges = new int[N*2-2]; numEdges = new int[N]; numEdges2 = new int[N]; ids = new int[N]; order = new int[(N-1)*2]; inputs = new int[(N-1)*2]; result = new int[(N-1)*2]; for(int i=0;i>j; fin>>k; j--; k--; inputs[i*2] = j; inputs[i*2+1] = k; numEdges[j]++; numEdges[k]++; colors = max(colors,max(numEdges[j],numEdges[k])); } for(int i=1;i