链接: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)相关推荐

  1. 【牛客 - 157B】凤凰(树上并查集,dfs)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/B 来源:牛客网 题目描述 传说,凤凰是百鸟之王.有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的 ...

  2. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】

    正题 题目链接:https://ac.nowcoder.com/acm/contest/1221/H 题目大意 给一张图,要求删掉一些边使得最小生成树权值不变,然后求删掉的边的最小权值. 解题思路 我 ...

  3. 白魔法师(牛客小白月赛25 图、并查集)

    白魔法师 链接:https://ac.nowcoder.com/acm/contest/5600/C 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 nnn 个点,每个点被染成了黑色或白色. ...

  4. 牛客题单——同余、并查集

    题单链接 Strange Way to Express Integers(表示整数的奇怪方式) 这道题之前已经写过了,不重复写了,下面是链接 中国剩余定理 程序自动分析 这道题很明显是用并查集解决的 ...

  5. 牛客挑战赛47 C 条件(Floyd bitset优化)

    牛客挑战赛47 C 条件 思路:首先我们要两个图,一个是一定能到达的,一个是可能到达的,如果我们使用floyd (n^3)就有可能会超时,因为只要求询问能否到达,所以权值只有0和1,那我们可以使用bi ...

  6. 牛客挑战赛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 ...

  7. 牛客挑战赛47 D Lots of Edges(最短路+递归枚举子集)

    牛客挑战赛47 D Lots of Edges 思路:点的权值最多只有(1<<17)-1(131071) ,那我们可以枚举终点的值来算最短路,每个点能连边的值都是固定的,可以通过递归枚举子 ...

  8. 刷题记录(NC235611 牛牛国的战争,NC23803 DongDong认亲戚,NC235622 叠积木)

    NC235611 牛牛国的战争 题目链接 关键点 1.因为要在能击败所有敌军的基础下,求存活最多的数量,那么我们可以对敌军的防御力从大到小排列,对于友军的攻击力从大到小排列,这样遍历一次敌军,将所有可 ...

  9. 牛客/赛码 编程题 javascript 的本地调试

    还在担心编程题 javascript 的本地调试问题吗? 先贴出牛客网 js(V8) 的输入输出来看看 while(line=readline()){var lines = line.split(' ...

  10. 牛客网【每日一题】 合集

    文章目录 2020年3月25日 NC50439 tokitsukaze and Soldier 牛客练习赛50-C 2020年3月26日 NC13230 合并回文子串 美团2017年CodeM大赛-初 ...

最新文章

  1. 读书:有趣 -- 酒鬼与圣徒
  2. Post和Get方法区别
  3. 【Ajax技术】使用XHR对象发送和接受数据
  4. sql server无效的对象名称 - 但表列在SSMS表列表中
  5. WCF分布式开发必备知识(2):.Net Remoting
  6. Nslookup 命令使用浅析
  7. oracle 区分配,ORACLE自动段管理的区分配大小测试
  8. 51信用卡 Android自动埋点实践
  9. php静态属性和普通属性吗,php中静态属性和普通属性的区别
  10. halcon学习之边缘检测
  11. mysql主从docker_(学习到实践)四、docker搭建mysql主从实践
  12. 四阶龙格库塔法的计算例子
  13. 科来过滤jd提示语法解析器错误的解决问题方法
  14. SolidWorks Simulation热仿真优化设计 提高企业生产效率
  15. 2022年「医疗行业」市场研报合集(共228份)
  16. 这些悬浮动效的常见玩法你都知道吗?
  17. Struts原理与实践(7)
  18. 计算机xp bios密码设置方法,如何设置电脑的密码
  19. JavaSE :自问自答
  20. 最近发现有很多人一直在问苹果ID双重认证怎么关闭。

热门文章

  1. 【IP 笔记 2.】北邮 互联网协议 Internet Protocol - Transport Layer
  2. 流媒体视频播放代码总结。
  3. Acer 4250G TL 58 Vista 系统装xp系统完全攻略
  4. 普渡大学计算机科学本科,美国普渡大学计算机科学CS本科申请条件及案例
  5. segnet---训练
  6. AtCoder Beginner Contest 178 C
  7. 线性代数笔记26——傅立叶级数
  8. 算法导论———归并排序(JAVA、Python)
  9. java ssl 双向认证_java实现 SSL双向认证
  10. c语言中0x13,int 0x13 常用功能详解