題目背景
在一大堆秀恩愛的**之中,來不及秀恩愛的蘇大學神踏著堅定(?)的步伐走向了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.」。
輸入輸出樣例
輸入樣例#1: 複製
10 6
jack
mike
asda
michel
brabrabra
hehe
hehe
papapa
heyobama
jack obama
hehe hehe
brabrabra hehe
obama asda
papapa obama
obama hehe
3mike obama
hehe jack
papapa brabrabra
輸出樣例#1: 複製
no.yes.
yes.
本題的注意事項(打星號)
1:字串的查詢:
如果是數字,我們不需要查詢,只需要對此合併就可以,但是如果是字串,就必須要查詢,觀察範圍發現(2<=n<=20000)(2<=n<=20000)於是。。。我們真的可以從11一直找到2000120001,如果找到了,就返回他的下標。
#include#includeusing namespace std;
int n, m,k;
int f[30000];
int find(int x)
else return
}int main()
for(i = 1; i <= m; i ++)
scanf("%d",&k);
for(i = 1; i <= k; i ++)
}
LUOGU 2256一中校運會之百公尺跑
在一大堆秀恩愛的 之中,來不及秀恩愛的蘇大學神踏著堅定 的步伐走向了100公尺跑的起點。這時蘇大學神發現,百公尺賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙。可是蘇大學神需要熱身,不然跑到一半就會抽 筋 於是他就找到了你。如果你幫助體育老師...
P2256 一中校運會之百公尺跑
在一大堆秀恩愛的 之中,來不及秀恩愛的蘇大學神踏著堅定 的步伐走向了100公尺跑的起點。這時蘇大學神發現,百公尺賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙。可是蘇大學神需要熱身,不然跑到一半就會抽 筋 於是他就找到了你。如果你幫助體育老師...
洛谷P2256 一中校運會之百公尺跑
在一大堆秀恩愛的 之中,來不及秀恩愛的蘇大學神踏著堅定 的步伐走向了100公尺跑的起點。這時蘇大學神發現,百公尺賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙。可是蘇大學神需要熱身,不然跑到一半就會抽 筋 於是他就找到了你。如果你幫助體育老師...