EOJ_1082_Virtual Friends
2024-06-05 05:40:08
#include <bits/stdc++.h>using namespace std;int findParent(int parent[], int i)
{int tmpi = i;while(parent[i]>=0) i = parent[i];//路径压缩while(tmpi!=i){int tmpParent = parent[tmpi];parent[tmpi] = i;tmpi = tmpParent;}return i;
}int unionParent(int parent[], int i, int j)
//返回根节点
{int rooti = findParent(parent, i);int rootj = findParent(parent, j);if(rootj==rooti) return rooti;int tmpCount= parent[rooti] + parent[rootj];if(parent[rooti]>parent[rootj]){parent[rooti] = rootj;parent[rootj] = tmpCount;return rootj;}else{parent[rootj] = rooti;parent[rooti] = tmpCount;return rooti;}
}int main()
{int num;cin>>num;for(int i=0;i<num;i++){int relations;cin>>relations;map<string,int> dic;int Sum=0;int parent[relations+3];memset(parent, -1, sizeof(parent));for(int i=0;i<relations;i++){string tmp1, tmp2;cin>>tmp1>>tmp2;if(!dic.count(tmp1)){dic[tmp1] = Sum++;}if(!dic.count(tmp2)){dic[tmp2] = Sum++;}int tmpRoot = unionParent(parent, dic[tmp1], dic[tmp2]);cout<< -1*parent[tmpRoot]<<endl;}}return 0;
}
EOJ_1082_Virtual Friends相关推荐
最新文章
- CS本科毕业生能拿到45万年薪?
- python代码架构_Python架构
- osi七层模型tcp/udp
- SpringMVC-设置编码过滤器
- wxWidgets:编写非英语应用程序
- linux安装mq报5724,linux下MQ简单配置手册.doc
- 多个集合中的共同和独特元素
- 修改mysql数据库字符集_修改及查看mysql数据库的字符集
- 2021年全球营销趋势报告
- (王道408考研数据结构)第八章排序-第五节:归并排序
- bootstrap 页面分成三列_20分钟成功编写bootstrap响应式页面 就这么简单
- 一大波程序员血赚到腰疼...
- python能做哪些方面的准备_学习pyhton需要做哪些准备工作
- 微商推广引流秘笈—— 8 个高效的引流策略
- C语言中getch()的用法
- 为何敢称万物追焦?小米12 系列CyberFocus技术详解
- Android 无标题 全屏设置
- WPF ListBox颜色交替及以击事件实现
- 【Python实战】 ---- 爬虫 爬取LOL英雄皮肤图片
- webpack处理iconfont字体文件打包