关注
#include<vector>
#include<iostream>
#include<algorithm>
#include<unordered_set>
#include<unordered_map>
using namespace std;
class Solution {
public:
int N, M, K;
int total;
vector<int> pre;
void solve() {
cin >> N >> M >> K;
total = N;
pre = vector<int>(N+M, -1);
for (int i = 0; i < N; ++i) {
pre[i] = i;
}
int rootu, rootv, u, v;
for (int k = 0; k < K; ++k) {
cin >> u >> v;
--u, --v, v += N;
if (pre[v] == -1) {
pre[v] = unionsearch(u);
}else{
rootu = unionsearch(u);
rootv = unionsearch(v);
if(rootu!=rootv){
pre[rootu] = rootv;
--total;
}
}
}
cout << total - 1 << endl;
}
int unionsearch(int k) {
int root = pre[k];
while (root != pre[root]) {
root = pre[root];
}
int cur_node = k, pre_node = pre[k];
while (cur_node != root) {
pre[cur_node] = root;
cur_node = pre_node;
pre_node = pre[cur_node];
}
return root;
}
};
int main() {
Solution s;
s.solve();
return 0;
}
过了91%
查看原帖
点赞 3
相关推荐
码农索隆:用平静的心态面对一只发怒的狮子,因为你跟他一起吼也解决不了问题,你要让他产生愧疚感
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开提前批了? #
19561次浏览 220人参与
# 除了主业以外,你还有哪些其他收入? #
9639次浏览 170人参与
# 校招阶段,学历VS技术哪个更重要? #
14985次浏览 166人参与
# 实习如何「偷」产出? #
42301次浏览 1033人参与
# 不卡学历的大厂有哪些? #
23176次浏览 176人参与
# 职场新人体验 #
19941次浏览 186人参与
# 实习打杂,要跑路吗 #
16284次浏览 192人参与
# 风评不好的公司,你会去吗? #
49710次浏览 370人参与
# 硬件人求职现状 #
433994次浏览 4539人参与
# 校园里的破防时刻 #
9336次浏览 106人参与
# 社恐入职新公司如何融入团队 #
11519次浏览 62人参与
# 腾讯音乐求职进展汇总 #
97698次浏览 566人参与
# 歌尔求职进展汇总 #
58169次浏览 339人参与
# Offer比较,你最看重什么? #
191174次浏览 1299人参与
# 正在实习的碎碎念 #
1453563次浏览 13466人参与
# 实习时,大家都怎么称呼自己的mentor? #
43573次浏览 273人参与
# 你投递的公司有几家约面了? #
108302次浏览 775人参与
# 摸鱼被leader发现了怎么办 #
61116次浏览 371人参与
# 软开人,秋招你打算投哪些公司呢 #
107989次浏览 978人参与
# 考研可以缓解求职焦虑吗 #
53778次浏览 474人参与