Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- char line[100];
- int un[100001];
- int t, n;
- int find(int a) {
- if (a == un[a]) return a;
- return (un[a] = find(un[a]));
- }
- char c;
- int u, v, pu, pv;
- int fail,suc;
- int main()
- {
- scanf("%d", &t);
- while(t--) {
- fail = suc = 0;
- scanf("%d ", &n);
- for (int i = 0; i <= n; ++i) un[i] = i;
- while (gets(line)) {
- if (line[0] == '\0') break;
- sscanf(line, "%c %d %d", &c, &u, &v);
- //printf("%c %d %d \n", c,u,v);
- pu = find(u);
- pv = find(v);
- if (c == 'c') un[pv] = pu;
- else if (pu == pv) ++suc;
- else ++fail;
- }
- printf("%d,%d\n", suc, fail);
- if (t) putchar('\n');
- }
- }
Add Comment
Please, Sign In to add comment