菜鸟第一次做这种。想了好一会儿.==

首先还是初始化记忆数组,使得每一个元素的初始根节点是自己。

然后是对输入的数据进行并集。我们拿出每组元素的第一个作为根节点。

每次检测是否已经存在根节点。如果存在根节点压缩该元素通往新的根节点的路径,同时将其原来的根节点接在新的根节点上。

第一次WA是因为忽略了剩余元素的根节点没有更新。倒数第二个循环用于把所有点都连接到根节点上。

#include<stdio.h>
#include<iostream>
using namespace std;
int stu[];
int main()
{
int n,m,k,tmp1,tmp2,tmp3,er;
scanf("%d%d",&n,&m);
while(n)
{
for(int i=;i<n;i++)
{
stu[i]=i;
}
for(int i=;i<m;i++)
{
scanf("%d",&k);
scanf("%d",&tmp1);
for(int j=;j<k-;j++)
{
scanf("%d",&tmp2);
while(stu[tmp2]!=tmp2)
{
tmp3=tmp2;
tmp2=stu[tmp2];
stu[tmp3]=stu[tmp1];
}
stu[tmp2]=stu[tmp1];
}
}
er=;
for(int i=;i<n;i++)
{
tmp2=i;
while(stu[tmp2]!=tmp2)
{
tmp2=stu[tmp2];
}
stu[i]=tmp2;
}
for(int i=;i<n;i++)
{
if(stu[i]==stu[])
{
er++;
}
}
printf("%d\n",er);
scanf("%d%d",&n,&m);
}
return ;
}

最新文章

  1. AngularJs之四
  2. VS 生成事件
  3. tomcat虚拟路径
  4. Sharing A Powerful Tool For Application Auto Monitor
  5. 使用Django建立网站
  6. ALV的颜色分为行的颜色、列的颜色和CELL的颜色
  7. [转]在NopCommerce中新增一个Domain Model的步骤
  8. WIN10图标显示异常
  9. Webpack使用教程三(webpack-dev-server)
  10. LoRaWAN协议(二)--LoRaWAN MAC数据包格式
  11. 业务gis 搭建一个skyline 的js模板 (一)
  12. 在php中使用Memcache
  13. 数据库原理 - 序列4 - 事务是如何实现的? - Redo Log解析(续)
  14. 使用ghost装完系统后出现“引用了一个不可用的位置”
  15. MySQL增删改查常用语句命令
  16. Java上传和下载
  17. XMind思维导图使用笔记
  18. Redis学习(8)-redis其他特性
  19. RESTful源码笔记之RESTful Framework的Mixins小结
  20. /boot/grub/grub.conf 内容诠释

热门文章

  1. hydra
  2. Centos Mysql 升级
  3. Python中的日志管理Logging模块
  4. Servlet Filter 3
  5. Js闭包函数
  6. POM (Project Object Model)简介
  7. php base64编码和urlencode
  8. freeswitch编译
  9. 转码:unescape(&quot;%u7B80%u4F53%u4E2D%u6587&quot;)---&gt;escape(&quot;简体中文&quot;)
  10. VMWare虚拟机下RedHat 9.0linux的网络设置