P2256 一中校運會之百公尺跑

2021-09-25 00:23:16 字數 1731 閱讀 7676

在一大堆秀恩愛的**之中,來不及秀恩愛的蘇大學神踏著堅定(?)的步伐走向了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

heyobama

jack obama

hehe hehe

brabrabra hehe

obama asda

papapa obama

obama hehe

3mike obama

hehe jack

papapa brabrabra

no.yes.

yes.

並查集水題。

#include

#define m(a,b) memset(a,b,sizeof(a))

#define pi 3.1415926

using

namespace std;

struct nodear[

1000];

int i,j,a,b,n,m,k,fa[

1000];

inline

void

read

(int

&x)while

(ch>=

'0'&& ch<=

'9')

if(c==

'-')x=

-x;}

intfind

(int x)

intmain()

for(i=

0;i) fa[

find

(ar[a]

.b)]

=find

(ar[b]

.b);

}scanf

("%d"

,&k)

;for

(i=0

;i(find

(ar[a]

.b)==

find

(ar[b]

.b))

printf

("yes.\n");

else

printf

("no.\n");

}return0;

}

洛谷P2256 一中校運會之百公尺跑

在一大堆秀恩愛的 之中,來不及秀恩愛的蘇大學神踏著堅定 的步伐走向了100公尺跑的起點。這時蘇大學神發現,百公尺賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙。可是蘇大學神需要熱身,不然跑到一半就會抽 筋 於是他就找到了你。如果你幫助體育老師...

P2256 一中校運會之百公尺跑(洛谷)

題目傳送門 方法 這是一道赤裸裸的並查集題目,根據輸入先進行合併,合併後根據輸入開始查詢判斷即可。需要注意的是,為了簡化題目,實際操作過程中可以用編號來對應姓名,從而表示出不同的學生,並建立相應的聯絡。實現 include include using namespace std 一看這個問題是組間分...

LUOGU 2256一中校運會之百公尺跑

在一大堆秀恩愛的 之中,來不及秀恩愛的蘇大學神踏著堅定 的步伐走向了100公尺跑的起點。這時蘇大學神發現,百公尺賽跑的參賽同學實在是太多了,連體育老師也忙不過來。這時體育老師發現了身為體育委員的蘇大學神,便來找他幫忙。可是蘇大學神需要熱身,不然跑到一半就會抽 筋 於是他就找到了你。如果你幫助體育老師...