#define V 19 // Number of vertices or sessions #define E 43 // Number of edges or session conflicts int color[V]; // To enter coloring int nc; // To count number of colors used int edges[E][2]; // For the data: // most popular vertices first int earlier[E], nghbrs[V]; // Sparse data structures 2lp_main() { data(); // Entries from Table 5.1 build_data_structures(); color_the_graph(); output(); } color_first_vertex() { color[0] = 0; // Actually the default nc = 1; // One color has been used } color_the_vertex(int v,c) { conflict_free(v,c); // Check color c available color[v] = c; // Color vertex v with color c if nc == c; // If color c is new then nc = c + 1; // then increment number of colors } color_the_graph() { color_first_vertex(); and(int v=1;v= 1 end = nghbrs[v]; and(int k=begin;k