洛谷——P2256 一中校运会之百米跑
生活随笔
收集整理的這篇文章主要介紹了
洛谷——P2256 一中校运会之百米跑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
P2256 一中校運會之百米跑
題目背景
在一大堆秀恩愛的**之中,來不及秀恩愛的蘇大學神踏著堅定(?)的步伐走向了100米跑的起點。這時蘇大學神發現,百米賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙??墒翘K大學神需要熱身,不然跑到一半就會抽(筋)、于是他就找到了你。。。如果你幫助體育老師解決了問題,老師就會給你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."。
?
輸入輸出樣例
輸入樣例#1: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 輸出樣例#1:
No. Yes. Yes.
#include<map> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> #define N 5100 using namespace std; map<string,int>a; int fa[N]; int read() {int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f; } int find(int x) {if(x==fa[x]) return x;fa[x]=find(fa[x]);return fa[x]; } int main() {int n,m,k,x,y,fx,fy,ans=0;string ch,ch1,ch2;n=read(),m=read();for(int i=1;i<=n;i++){cin>>ch;a[ch]=i;}for(int i=1;i<=n;i++) fa[i]=i;for(int i=1;i<=m;i++){cin>>ch1>>ch2;x=a[ch1],y=a[ch2];fx=find(x),fy=find(y);if(fa[fx]==fa[fy]) continue;fa[fx]=fy;}cin>>k;for(int i=1;i<=k;i++){cin>>ch1>>ch2;x=a[ch1],y=a[ch2];if(find(x)==find(y)) printf("Yes.\n");else printf("No.\n");}return 0; }
?
轉載于:https://www.cnblogs.com/z360/p/7436516.html
總結
以上是生活随笔為你收集整理的洛谷——P2256 一中校运会之百米跑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 7 为firewalld添
- 下一篇: EventProcessor与WorkP