博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pku 1611 The Suspects 并查集的应用
阅读量:7104 次
发布时间:2019-06-28

本文共 874 字,大约阅读时间需要 2 分钟。

思路:统计出和0能够联系在一起的点,然后输出其个数

View Code
#include 
#include
#define maxn 30004 using namespace std; int f[maxn],num[maxn];//num记录与0有联系的个数 int n,m; int find(int x) {
if (x != f[x]) {
f[x] = find(f[x]); } return f[x]; } void Union(int x,int y) {
x = find(x); y = find(y); if (x != y) {
f[y] = x; num[x] += num[y];//根记录子系的个数 } } int main() {
int i,j,a,b,k; while (cin>>n>>m) {
if (!n && !m) break; for (i = 0; i <= n; ++i) {
f[i] = i; num[i] = 1; } for (i = 0; i < m; ++i) {
cin>>k; if (k) cin>>a; for (j = 1; j < k; ++j) {
cin>>b; Union(a,b); } } int pos = find(0);//找到0所在的子系的根 printf("%d\n",num[pos]); } return 0; }

转载地址:http://ojchl.baihongyu.com/

你可能感兴趣的文章
光流和KLT
查看>>
Linux c括号作用域【原创笔记】
查看>>
高性能后台服务器架构设计
查看>>
MIUI刷机曝重大危险 可致短信照片等个人隐私被盗
查看>>
物联网时代 企业需做出的十大战略选择
查看>>
光速运行的量子加密
查看>>
ESG:浅析思科进军服务器市场行业影响
查看>>
美国“黑色星期五”单日销量不及双十一
查看>>
《中国人工智能学会通讯》——11.20 多任务学习在交通分析中的应用
查看>>
分析:大数据如何催化电子商务企业
查看>>
H3C吴健:技术与行业理解是我们的核心竞争力
查看>>
CycleBeads:App不仅能避孕,成功率还有95%
查看>>
Android热修复技术总结
查看>>
飞康软件定义平台为Oracle提供全面保护与恢复
查看>>
Java常用算法1——冒泡排序
查看>>
如何在数据中心行业玩转互联网思维?
查看>>
9月6日云栖精选夜读:DMS前后端技术揭秘及最佳实践
查看>>
Oracle Resource Manager和调度任务
查看>>
OpenStack建设企业私有云要解决五大问题
查看>>
美国抢跑5G高频段规划,我国如何应对挑战?
查看>>