| 1 | struct union_find { |
| 2 | vi p; union_find(int n) : p(n, -1) { } |
| 3 | int find(int x) { return p[x] < 0 ? x : p[x] = find(p[x]); } |
| 4 | bool unite(int x, int y) { |
| 5 | int xp = find(x), yp = find(y); |
nothing calls this directly
no outgoing calls
no test coverage detected