牛客赛47 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
算是半个水题吧
#include<bits/stdc++.h>
using namespace std;
int n,m,a[20005];
map<string,int> M;
string s,s1;
int find(int x)
{if(a[x]==x) return x;return a[x]=find(a[x]);
}
void add(int x,int y)
{if(find(x)!=find(y))a[find(x)]=find(y);
}
int main()
{cin>>n>>m;for(int i=0; i<n; i++){cin>>s;M[s]=a[i]=i;}while(m--){int x;cin>>x>>s>>s1;if(x==1)add(M[s],M[s1]);else{if(find(M[s])!=find(M[s1]))cout<<'0'<<endl;elsecout<<'1'<<endl;}}return 0;
}
牛客赛47 DongDong认亲戚(并查集+map)相关推荐
- 【牛客 - 157B】凤凰(树上并查集,dfs)
题干: 链接:https://ac.nowcoder.com/acm/contest/157/B 来源:牛客网 题目描述 传说,凤凰是百鸟之王.有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的 ...
- 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】
正题 题目链接:https://ac.nowcoder.com/acm/contest/1221/H 题目大意 给一张图,要求删掉一些边使得最小生成树权值不变,然后求删掉的边的最小权值. 解题思路 我 ...
- 白魔法师(牛客小白月赛25 图、并查集)
白魔法师 链接:https://ac.nowcoder.com/acm/contest/5600/C 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 nnn 个点,每个点被染成了黑色或白色. ...
- 牛客题单——同余、并查集
题单链接 Strange Way to Express Integers(表示整数的奇怪方式) 这道题之前已经写过了,不重复写了,下面是链接 中国剩余定理 程序自动分析 这道题很明显是用并查集解决的 ...
- 牛客挑战赛47 C 条件(Floyd bitset优化)
牛客挑战赛47 C 条件 思路:首先我们要两个图,一个是一定能到达的,一个是可能到达的,如果我们使用floyd (n^3)就有可能会超时,因为只要求询问能否到达,所以权值只有0和1,那我们可以使用bi ...
- 牛客挑战赛47 A 一道GCD问题
牛客挑战赛47 A 一道GCD问题 思路参考牛客上的题解: 根据多维的更相减损术得gcd(x,y,z)=gcd(x,y−x,z−y)得 gcd(a1+k,a2+k,a3+k-,an+k)=gcd(a1 ...
- 牛客挑战赛47 D Lots of Edges(最短路+递归枚举子集)
牛客挑战赛47 D Lots of Edges 思路:点的权值最多只有(1<<17)-1(131071) ,那我们可以枚举终点的值来算最短路,每个点能连边的值都是固定的,可以通过递归枚举子 ...
- 刷题记录(NC235611 牛牛国的战争,NC23803 DongDong认亲戚,NC235622 叠积木)
NC235611 牛牛国的战争 题目链接 关键点 1.因为要在能击败所有敌军的基础下,求存活最多的数量,那么我们可以对敌军的防御力从大到小排列,对于友军的攻击力从大到小排列,这样遍历一次敌军,将所有可 ...
- 牛客/赛码 编程题 javascript 的本地调试
还在担心编程题 javascript 的本地调试问题吗? 先贴出牛客网 js(V8) 的输入输出来看看 while(line=readline()){var lines = line.split(' ...
- 牛客网【每日一题】 合集
文章目录 2020年3月25日 NC50439 tokitsukaze and Soldier 牛客练习赛50-C 2020年3月26日 NC13230 合并回文子串 美团2017年CodeM大赛-初 ...
最新文章
- 读书:有趣 -- 酒鬼与圣徒
- Post和Get方法区别
- 【Ajax技术】使用XHR对象发送和接受数据
- sql server无效的对象名称 - 但表列在SSMS表列表中
- WCF分布式开发必备知识(2):.Net Remoting
- Nslookup 命令使用浅析
- oracle 区分配,ORACLE自动段管理的区分配大小测试
- 51信用卡 Android自动埋点实践
- php静态属性和普通属性吗,php中静态属性和普通属性的区别
- halcon学习之边缘检测
- mysql主从docker_(学习到实践)四、docker搭建mysql主从实践
- 四阶龙格库塔法的计算例子
- 科来过滤jd提示语法解析器错误的解决问题方法
- SolidWorks Simulation热仿真优化设计 提高企业生产效率
- 2022年「医疗行业」市场研报合集(共228份)
- 这些悬浮动效的常见玩法你都知道吗?
- Struts原理与实践(7)
- 计算机xp bios密码设置方法,如何设置电脑的密码
- JavaSE :自问自答
- 最近发现有很多人一直在问苹果ID双重认证怎么关闭。
热门文章
- 【IP 笔记 2.】北邮 互联网协议 Internet Protocol - Transport Layer
- 流媒体视频播放代码总结。
- Acer 4250G TL 58 Vista 系统装xp系统完全攻略
- 普渡大学计算机科学本科,美国普渡大学计算机科学CS本科申请条件及案例
- segnet---训练
- AtCoder Beginner Contest 178 C
- 线性代数笔记26——傅立叶级数
- 算法导论———归并排序(JAVA、Python)
- java ssl 双向认证_java实现 SSL双向认证
- c语言中0x13,int 0x13 常用功能详解