题目大意:给出计算机之间的连接配置,询问某两台计算机是否相连。判断两个点是否在同一个连通分量里,用并查集处理。

 #include <cstdio>
#define MAXN 1000000 int p[MAXN]; int find(int x)
{
return (x == p[x]) ? x : p[x] = find(p[x]);
} int main()
{
#ifdef LOCAL
freopen("in", "r", stdin);
#endif
int T;
scanf("%d", &T);
while (T--)
{
int n;
scanf("%d", &n);
getchar();
for (int i = ; i <= n; i++)
p[i] = i;
char str[];
int success = , fail = ;
while (gets(str))
{
if (str[] == ) break;
int a, b;
sscanf(str+, "%d%d", &a, &b);
int pa = find(a);
int pb = find(b);
if (str[] == 'c')
{
if (pa != pb) p[pb] = pa;
}
else if (str[] == 'q')
{
if (pa != pb) fail++;
else success++;
}
}
printf("%d,%d\n", success, fail);
if (T) printf("\n");
}
return ;
}

最新文章

  1. Flink - NetworkEnvironment
  2. Hadoop官方文档翻译——HDFS Architecture 2.7.3
  3. 定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)。要求如下: (1)可以生成具有特定坐标的点对象。 (2)提供可以设置三个坐标的方法。 (3)提供可以计算该“点”距原点距离平方的方法。 (4)编写主类程序验证。
  4. [POJ1631]Bridging signals (DP,二分优化)
  5. POJ 3237 Tree (树链拆分)
  6. Jdk 1.8*安装并配置
  7. Java scheduled executor
  8. Detailed Information for Outputted Files from Somatic Mutation Annotators(annovar 注释文件条目详细解释)
  9. ES6中的Set和Map集合
  10. mac对比class文件
  11. 动态规划——Frog Jump
  12. CMDB服务器管理系统【s5day89】:深入理解Java的接口和抽象类
  13. numpy总结
  14. juqery 点击分页显示,指定一页显示多少个,首次加载显示多少个
  15. s4-6 二层交换
  16. HTML提交方式post和get区别(实验)
  17. JVM 技术分享(初级)
  18. (转) 密码学中的“盐值 Salt”
  19. virtualbox+vagrant学习-2(command cli)-1-vagrant box命令
  20. 浅谈WLAN干扰与抗干扰技术

热门文章

  1. C++:new 和 delete
  2. parseInt(),parseFloat(),parse()
  3. h5移动端设计页面
  4. MDK的优化应用(转)
  5. javascript中的正则匹配函数exec(),test(),match()
  6. 丑数&lt;数学技巧&gt;
  7. sql查询技巧,按时间分段进行分组,每半小时一组统计组内记录数量
  8. Qt5:QSystemTrayIcon类实现程序托盘图标
  9. ubuntu 15.04怎么安装QQ
  10. Codeforces Round #369 (Div. 2) D. Directed Roads (DFS)