/* This code is from "Algorithms in C, Third Edition," by Robert Sedgewick, Addison-Wesley, 1998. */ #include #define N 10000 main() { int i, p, q, t, id[N]; for (i = 0; i < N; i++) id[i] = i; while (scanf("%d %d\n", &p, &q) == 2) { if (id[p] == id[q]) { printf(" %d %d already connected\n", p, q); continue; } for (t = id[p], i = 0; i < N; i++) if (id[i] == t) id[i] = id[q]; printf(" %d %d newly connected\n", p, q); } }