fn greedy_coloring(g: &[usize], deg: &[u32]) -> usizeExamples found in repository?
crates/competitive/src/algorithm/chromatic_number.rs (line 13)
2pub fn chromatic_number(n: usize, edges: &[(usize, usize)]) -> usize {
3 assert!(n < usize::BITS as usize);
4 if n == 0 {
5 return 0;
6 }
7 let mut g = vec![0usize; n];
8 for &(u, v) in edges {
9 g[u] |= 1 << v;
10 g[v] |= 1 << u;
11 }
12 let deg: Vec<_> = g.iter().map(|g| g.count_ones()).collect();
13 let mut best = greedy_coloring(&g, °);
14 search_coloring(&g, °, &mut vec![0; n], (1 << n) - 1, 0, &mut best);
15 best
16}