关注
#include<bits/stdc++.h>
using namespace std;
const int MAXSIZE = 100001;
int uset[MAXSIZE];
int Rank[MAXSIZE];
map<int,int> m;
void makeSet(int size) {
for(int i = 0;i < size;i++) uset[i] = i;
for(int i = 0;i < size;i++) Rank[i] = 0;
}
int find(int x) {
if (x != uset[x]) uset[x] = find(uset[x]);
return uset[x];
}
void unionSet(int x, int y) {
if ((x = find(x)) == (y = find(y))) return;
if (Rank[x] > Rank[y]) uset[y] = x;
else {
uset[x] = y;
if (Rank[x] == Rank[y]) Rank[y]++;
}
}
int main(){
int n;
makeSet(MAXSIZE);
cin>>n;
for(int i=1;i<=n;i++){
int t;
while(cin>>t){
if(t==0)
break;
unionSet(i,t);
}
}
int count = 0;
for(int i=1;i<=n;i++){
int t = find(i);
if(m[t]==0){
count++;
m[t]=1;
}
}
cout<<count;
}
第一题,裸的并查集..就过了这一题
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-26 10:52
河北传媒学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
11496次浏览 147人参与
# 你的mentor是什么样的人? #
50982次浏览 718人参与
# 程序员找工作至少要刷多少题? #
19977次浏览 255人参与
# 我和mentor的爱恨情仇 #
106116次浏览 944人参与
# 论秋招对个人心气的改变 #
12232次浏览 168人参与
# 校招第一份工作你干了多久? #
136571次浏览 597人参与
# 机械人避雷的岗位/公司 #
43803次浏览 303人参与
# 为了减少AI幻觉,你注入过哪些设定? #
5327次浏览 162人参与
# 设计人如何选offer #
189603次浏览 868人参与
# 你的秋招进行到哪一步了 #
2530257次浏览 23253人参与
# 机械人还在等华为开奖吗? #
312047次浏览 1582人参与
# 牛客AI体验站 #
7253次浏览 197人参与
# 重来一次,我还会选择这个专业吗 #
411144次浏览 3898人参与
# 我现在比当时_,你想录用我吗 #
9098次浏览 116人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2147次浏览 50人参与
# 一张图晒一下你的AI员工 #
5450次浏览 121人参与
# 研究所VS国企,该如何选 #
244439次浏览 1982人参与
# AI Coding的使用心得 #
4934次浏览 105人参与
# 刚入职的你踩过哪些坑 #
7224次浏览 130人参与
# 关于春招/暑期实习,你想知道哪些信息? #
7917次浏览 121人参与
网易游戏公司福利 614人发布