DongDong认亲戚(map+并查集)
DongDong认亲戚(map+并查集)
题目链接:https://ac.nowcoder.com/acm/contest/904/B
来源:牛客网
题目描述
DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程的你了。
输入描述:
第一行给定n,m表示有n个人,m次操作
第二行给出n个字符串,表示n个人的名字分别是什么(如果出现多个人名字相同,则视为同一个人)(保证姓名是小写字符串)
接下来m行,每行输入一个数opt,两个字符串x,y
当opt=1时,表示x,y是亲戚
当opt=2时,表示询问x,y是否是亲戚,若是输出1,不是输出0
数据范围:1<=n,m<=20000,名字字符长度小等于10
输出描述:
对于每个2操作给予回答
示例1
输入
4 4
chen lin yi cheng
2 chen lin
1 chen lin
1 yi lin
2 yi lin
输出
0
1
题解:
太菜了,开始一看题,就以为是一道并查集裸题,但是一直没A出来,结束后看大佬代码,居然没想到用map,最后就只需要用并查集维护即可,又一次自闭!!
#include<bits/stdc++.h>
using namespace std;
int par[200010];
map<string,int>mp;
int Get_Par(int x)
{if(par[x]!=x)par[x]=Get_Par(par[x]);return par[x];
}
int main()
{ios::sync_with_stdio(false);int n,m;string s;cin>>n>>m;for(int i=0;i<n;i++){cin>>s;par[i]=i;mp[s]=i;}for(int i=0;i<m;i++){int num;string str1,str2;cin>>num>>str1>>str2;int x=mp[str1];int y=mp[str2];int num1=Get_Par(x);int num2=Get_Par(y);if(num==1){if(num1!=num2)par[num1]=num2;}else{if(num1==num2)printf("1\n");elseprintf("0\n");}}return 0;
}
DongDong认亲戚(map+并查集)相关推荐
- 刷题记录(NC235611 牛牛国的战争,NC23803 DongDong认亲戚,NC235622 叠积木)
NC235611 牛牛国的战争 题目链接 关键点 1.因为要在能击败所有敌军的基础下,求存活最多的数量,那么我们可以对敌军的防御力从大到小排列,对于友军的攻击力从大到小排列,这样遍历一次敌军,将所有可 ...
- P1551 亲戚(并查集)
亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲 ...
- 每日一题——洛谷 P1551 亲戚 (并查集)
大家好,我是爬行系,今天打卡并查集相关例题 文章目录 并查集 1.概念 2.模板 例题 1.题目描述 2.AC代码 更多练习题 总结 并查集 1.概念 并查集的思想是用一个数组表示了整片森林(pare ...
- #1066 : 无间道之并查集(map+并查集)
#1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息--额,说远了,总之,小Hi和小H ...
- 洛谷P1551 亲戚(并查集)
题目链接 思路: 并查集的模板题目 关于并查集相关知识可以看此博客 AC代码 #include<iostream> #include<cstdio> #include<a ...
- P1551 亲戚 (并查集)
题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:xx 和 yy 是亲戚,yy 和 zz 是亲戚,那 ...
- 1249. 亲戚(并查集)
文章目录 Question Ideas Code Question 或许你并不知道,你的某个朋友是你的亲戚. 他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子. 如果能得到完整的家谱,判断两个人是否 ...
- 2021算法竞赛入门班第三节课【堆、栈、队列、并查集】等习题
目录 新建 Microsoft Office Word 文档[小根堆] 加边的无向图[并查集] 好串[栈 / 括号匹配] [NOIP2004]合并果子[小根堆] DongDong认亲戚[并查集] 新建 ...
- 并查集模板题(stl 中map的运用)
DongDong认亲戚 DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程的 ...
- 漫画:什么是 “并查集” ?
作者 | 封承成 来源 | 程序员小灰(ID:chengxuyuanxiaohui) 导语:并查集是一种精巧的算法,本身并不难理解,却很常用,在许多场景下都能找到并查集的身影. 本文作者封承成,年仅1 ...
最新文章
- c语言一对圆括号不能,C语言单元习题集
- 【HTML+CSS练习】画一个条件查询
- 全国胸最小的省是哪个,你知道吗?| 今日最佳
- 苏宁国美盈利报警:线下乏力线上重金加码
- php 警告方法 不可用,升级PHP版本后警告信息的逐一解决
- 比较使用LUT和不使用LUT的颜色空间转换的处理时间差异
- Ubuntu 16.04安装vsftpd 并开启ftp服务
- RIP路由协议基本配置
- JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。
- 同步助手 android 微信 表情包,微信表情轻松导,同步助手带你装逼带你飞
- HDU 2825	Wireless Password
- Liunx 切换用户This account is currently not available
- 为什么你要用卡片笔记法?
- kali获取同局域网设备的图片信息
- 鼠标右键多余菜单的清理
- http-equiv
- HTML5接入百度地图并搜索定位
- MacOS图标文件 .icns 一键生成脚本
- 惠普M1136 MFP激光打印机打印整张纸全黑
- 【ct107d】独立键盘
热门文章
- 华为企业业务的数字化与绿色节能“双向突围”
- 宇枫资本你需要了解的三个理财点
- java se runtime environment 6.0_Java SE Runtime Environment v6.0 Update 16
- 在SQL Sever中使用form membership认证
- 计算机科学与技术专业宣传口号,十大经典深入人心科技类广告语
- python拦截广告弹窗_通过python实现弹窗广告拦截过程详解
- vs运行程序时报错:“Stack around the variable XXX was corrupted”
- RabbitMQ之业务场景:动态创建,删除队列工具类(一)
- 【读书笔记】金字塔原理-构建金字塔的序言
- 域名证书是什么样子的_什么是网站域名证书