-----------------------

题目链接:MIKU

---------------------

我现在发现找BUG的最好方法————喝水

喝一次找一个,喝两次A道题

---------------------------

好,下面来分析这道题,这道题一看,大家一定就会想到并查集

(不知道并查集是什么?)请自行百度或者是看博客:(链接指向网址未完工)

但是,并查集我们是针对数的,而这道题都是字符串,怎么办呢?就是建立一个结构体来储存名字和编号,当然,这样在查询时就必须要遍历每一个数组才能拿到编号,不过对于这套题来说,复杂度足够了。

所以说这道题还是挺模板的

或许MAP对于这道题也可以用,但是对于像我这样的蒟蒻来说,这种结构体还是比较稳定的;

(或许可以用一个<string,string>的MAP?,我没试)

---------------------------

再说一句,这道题的数据很水,写的是20000但是我开了个10000的数组就够了】

---------------------------

 /*

 我现在发现了怎样A题

 喝一口水找出一个bug

 啊啊啊啊 

 */
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct com{
int no;
string name;
} fa[];//受题目影响,就用了结构体
//用结构体打包
int faa[];//并查集部分
int n,m,k;
//得到名字,但是我们的并查集是要处理编号,所以说我们就要
//遍历得到编号
int find(string x){
for(int i=;i<=n+;++i)
if(fa[i].name==x)
return fa[i].no;
}
int findd(int x)//并查集部分
{
if(faa[x]==x)
return x;
else
return faa[x]=findd(faa[x]);
} string s,s1;
int main()
{
cin>>n>>m;//读入部分
for(int i=;i<=n;++i)
{
cin>>s;
fa[i].no=i;
fa[i].name=s;//记录名字与编号
faa[i]=i;//并查集部分
}
for(int i=;i<=m;++i)
{
cin>>s>>s1;
int v1=find(s);
int v2=find(s1);//将我们得到的名字转化成编号
// cout<<v1<<" "<<v2<<endl;
if(findd(v1)!=findd(v2))
faa[findd(v1)]=findd(v2);//并查集部分
}
cin>>k;
for(int i=;i<=k;++i)
{
cin>>s>>s1;
if(findd(find(s1))==findd(find(s)))//转换成编号,并查集部分
cout<<"Yes."<<endl;//输出
else
cout<<"No."<<endl;
}
return ;
}

AC

--------------------------

May MIKU be with you.

--------------

P2256 一中校运会之百米跑的更多相关文章

  1. 洛谷 P2256 一中校运会之百米跑

    题目链接 https://www.luogu.org/problemnew/show/P2256 题目背景 在一大堆秀恩爱的**之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了100米跑的起点. ...

  2. 洛谷——P2256 一中校运会之百米跑

    P2256 一中校运会之百米跑 题目背景 在一大堆秀恩爱的**之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了100米跑的起点.这时苏大学神发现,百米赛跑的参赛同学实在是太多了,连体育老师也忙不 ...

  3. 洛谷P2256 一中校运会之百米跑

    题目背景 在一大堆秀恩爱的**之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了100米跑的起点.这时苏大学神发现,百米赛跑的参赛同学实在是太多了,连体育老师也忙不过来.这时体育老师发现了身为体育 ...

  4. P2256 一中校运会之百米跑(map映射加并查集)

    真心水,也许只有我这样的蒟蒻能做这种题了吧.用STL中的map将所有人的名字映射成一个数字,然后就是并查集的裸题 #include<bits/stdc++.h> using namespa ...

  5. P2256 一中校运会之百米跑(map+并查集)

    思路:首先处理名字,让字符串直接映射唯一一个数字,这就用map<string, int>即可. 然后,直接用并查集 #include<iostream> #include< ...

  6. 20155206赵飞技能获取经验,C语言学习感想与对JAVA的学习目标

    自己较强的技能获取经验. 1:实话实说我自己是没有哪个技能可以超过90%的人的,只有自认为做的还可以的一些事情,例如打篮球,office软件的应用,一百米跑.至于其他方面就是很平庸了. 2:经验主要有 ...

  7. 从维度理解dp问题

    对于dp,我目前的理解就是,干成题目中的那件事需要作出若干次决策,然后你要取其中最优的结果,我们可以用深搜来递归地找最优解,然后我们来观察一下这个递归树的形状,如果它能从底往上直接递推的话,就不用递归 ...

  8. [C++ Primer Plus] 第4章、复合类型(二)课后习题

    1.编写一个 c++ 程序,如下述输出示例所示的那样请求并显示信息 : What is your first name? Betty SueWhat is your last name? YeweWh ...

  9. Java并发编程之java.util.concurrent包下常见类的使用

    一,Condition 一个场景,两个线程数数,同时启动两个线程,线程A数1.2.3,然后线程B数4.5.6,最后线程A数7.8.9,程序结束,这涉及到线程之间的通信. public class Co ...

随机推荐

  1. mint ui的tabBar监听路由变化实现tabBar切换

    说明 最近学习vue,使用了mint ui的tabBar,感觉好难受,结合 tab-container使用更难受,因为它不是根据路由来切换页面的.mui与它基本相反,因此它能根据搜索栏的路由变化,相应 ...

  2. Owncloud - Can't write into config directory!

    Owncloud - Can't write into config directory! Can't write into config directory! This can usually be ...

  3. 时序数据库 Apache-IoTDB 源码解析之文件格式简介(三)

    上一章聊到在车联网或物联网中对数据库的需求,以及 IoTDB 的整体架构,详情请见: 时序数据库 Apache-IoTDB 源码解析之系统架构(二) 打一波广告,欢迎大家访问IoTDB 仓库,求一波 ...

  4. 使用CStatic显示图片(bmp、ico、png)

    一.显示bmp及ico //h文件 CStatic m_static; //cpp文件 CBitmap bitmap; bitmap.LoadBitmapW(IDB_BITMAP); //加载位图 B ...

  5. linux下的 $ ./configure $ sudo make && sudo make install

    $ ./configure $ sudo make && sudo make install 1)./configure命令就是执行当前目录的名为configure的脚本,主要的作用是 ...

  6. POJ_1221_DP

    http://poj.org/problem?id=1221 简单dp,dp[i][j]表示i被划分成首位>=j的方案数. dp[i][i]为1,i为偶数时dp[i][i/2]为2. 剩下的可以 ...

  7. spring中获取bean的方式

    获取bean的方式 1.可以通过上下文的getBean方法 2.可以通过@Autowired注入 定义controller @RestController @RequestMapping(" ...

  8. C2440 “初始化”: 无法从“std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>”转换为“std::_Vector_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>”

    错误原因vs已经提醒的很清楚了:无法将const_iterator转换为iterator 我的出错代码是这样的 思考了很久,最后发现原来是因为将函数定义为const的缘故. 总结:当将函数定义为con ...

  9. java中list的sort()功能如何使用?

    排序时正序/倒序处理起来可能会混淆,可以用更简单的方法.可以使用java.util自带的比较器来做 Comparator.comparingInt(Integer::intValue).reverse ...

  10. shell脚本自动化部署

    由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 ...