zoukankan      html  css  js  c++  java
  • 洛谷 2256 一中校运会之百米跑

           洛谷 2256  一中校运会之百米跑

    题目背景

    在一大堆秀恩爱的**之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了100米跑的起点。这时苏大学神发现,百米赛跑的参赛同学实在是太多了,连体育老师也忙不过来。这时体育老师发现了身为体育委员的苏大学神,便来找他帮忙。可是苏大学神需要热身,不然跑到一半就会抽(筋)、于是他就找到了你。。。如果你帮助体育老师解决了问题,老师就会给你5个积分。

    题目描述

    假设一共有N(2<=N<=20000)个参赛选手。(尼玛全校学生都没这么多吧)

    老师会告诉你这N个选手的名字。

    接着会告诉你M(1<=M<=1000000)句话,即告诉你学生A与学生B在同一个组里。

    如果学生A与学生B在同一组里,学生B与学生C也在同一组里,就说明学生A与学生C在同一组。

    然后老师会问你K(1<=K<=1000000)句话,即学生X和学生Y是否在同一组里。

    若是则输出"Yes.",否则输出"No."

    输入输出格式

    输入格式:

    第一行输入N和M。

    接下来N行输入每一个同学的名字。

    再往下M行每行输入两个名字,且保证这两个名字都在上面的N行中出现过,表示这两个参赛选手在同一个组里。

    再来输入K。

    接下来输入K个体育老师的询问。 

    输出格式:

    对于每一个体育老师的询问,输出"Yes."或"No."。

    输入输出样例

    输入样例:
    10 6
    Jack
    Mike
    ASDA
    Michel
    brabrabra
    HeHe
    HeHE
    papapa
    HeY
    Obama
    Jack Obama
    HeHe HeHE
    brabrabra HeHe
    Obama ASDA
    papapa Obama
    Obama HeHE
    3
    Mike Obama
    HeHE Jack
    papapa brabrabra
    输出样例: 
    No.
    Yes.
    Yes.
    题解:
    并查集?,不过是用map储存而已。
     1 #include<algorithm>
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<map>
     5 using namespace std;
     6 map<string,string>root;
     7 int n,m,t;
     8 string a,b;
     9 string find(string x){
    10     if(root[x]!=x) return root[x]=find(root[x]);
    11     return x;
    12 }
    13 int main(){
    14     cin>>n>>m;
    15     for(int i=1;i<=n;i++) cin>>a,root[a]=a;
    16     for(int i=1;i<=m;i++){
    17         cin>>a>>b;
    18         if(find(a)!=find(b))
    19         root[find(a)]=find(b);
    20     }
    21     cin>>t;
    22     for(int i=1;i<=t;i++){
    23         cin>>a>>b;
    24         if(find(a)==find(b)) printf("Yes.
    ");
    25         else printf("No.
    ");
    26     }
    27     return 0;
    28 }
    map真是个好东西。
    好东西好东西,中国制造,好东西。(此处安利好东西//这不是小广告

    一世安宁
     
  • 相关阅读:
    最小的linux发行版TinyCore Linux 系统,从分区安装系统开始
    目标世界上最小的Linux系统—ttylinux体验
    在虚拟机上安装树莓派系统
    天气预报查询
    树莓派做服务器,搭建Typecho博客和Owncloud云盘
    超好用的C#控制台应用模板
    一个简单好用的日志框架NLog
    让编写的单元测试同时支持 NUnit/MSTest
    使用MSTest进行单元测试入门
    C#开源日志文件实时监控工具Tail
  • 原文地址:https://www.cnblogs.com/GTBA/p/9052171.html
Copyright © 2011-2022 走看看