发布时间:2022-08-19 13:58
998
思路:并查集求根节点个数
#include
#include
#include
using namespace std;
int parent[50005];
int root(int x)
{
return parent[x] == x ? x: parent[x]=root(parent[x]);
}
void make(int a,int b)
{
int f1=root(a);
int f2=root(b);
if(f1!=f2)
parent[f2]=f1;
}
int main()
{
int icase=1,n,m;
while(scanf("%d%d",&n,&m)==2&&(n!=0))
{
int cnt=-1,x,y;
for(int i=1;i<=n;i++)
parent[i] = i;
while(m--){
scanf("%d%d",&x,&y);
make(x,y);
}
for(int i=1;i<=n;i++)
if(parent[i] == i)
cnt ++;
printf("%d\n",cnt);
}
return 0;
}
人工智能歌词创作app,写歌词押韵app,创作歌词的软件app,写原创歌词的软件,写歌词的软件手机版
ElasticSearch+Kibana+Logstash实现日志可视化运维监控
一个 Java 顶级高手是怎样炼成的?(附思维导图与学习资料)
java.sql. SQLException: No suitable driver found for jdbc :mysql://localhost:3306/test
Java Comparator的使用-构建自己的Comparator(Lambda)
SpringBoot系列——Security + Layui实现一套权限管理后台模板
高性能 Jsonpath 框架,Snack3 3.2.29 发布
Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
JavaScript一键复制内容(document.execCommand原生JS设置剪贴板)
做AI手语数字人,是让聋人用熟悉的方式去理解健听人的表达方式