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

2022-08-17 15:33:14 字數 1062 閱讀 9370

題目傳送門

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

實現**:

#include#include 

using

namespace

std;

//一看這個問題是組間分類和查詢問題,便可以聯想到並查集的方法去解決

//關鍵在於將字串用數字來代替處理,然後套上並查集的模板就能直接ac(還好測試資料不是過大,雙重迴圈盡然沒崩,lucky.jpg)

#define max_n 1000005

intn,m;

string s[20005]; //

儲存學生的名字

int rank[max_n]; //

樹的高度

intpar[max_n];

void

init()

}int find(int x)

else

return par[x]=find(par[x]); //

在查詢的過程中實際上直接將父節點連線到根節點上進行優化

}void unite(int x,int

y)else

}bool same(int x,int

y) int k=0

;int

main()

init();

for(int i=1;i<=m;i++)

if(s[j]==b)

if(flag1&&flag2)

}unite(t1,t2);

}int k=0

; cin>>k;

for(int i=1;i<=k;i++)

if(s[j]==b)

if(flag1&&flag2)

}if(same(t1,t2))

else cout<<"

no."

<}

return0;

}

P2256 一中校運會之百公尺跑

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

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

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

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

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