L2 010 排座位(並查集)

2021-08-15 05:58:23 字數 827 閱讀 9740

【題目鏈結】

給一群人的關係有敵對和友好,朋友的朋友也是朋友,現在你任意兩個人的輸出相應的語句。

用並查集來處理朋友關係,用vector來儲存敵對關係,判斷時兩個都對比下就好了

#include

#include

#include

#include

using

namespace

std;

#define inf 0x3f3f3f

const

int maxn=1e5+5;

int pre[maxn];

int unions(int root) ///查詢最高父親節點

return root;

}void join(int root1,int root2) ///合併

int main()

}for (int i=0;iint a,b,t1=0,t2=0;

cin>>a>>b;

if(unions(a)==unions(b))

t1=1;

for (int j=0;jif (d[a][j]==b)

t2=1;

}if (t1==1&&t2==0)

cout

<<"no problem"

if(t1==0&&t2==0)

cout

<<"ok"

if(t1==1&&t2==1)

cout

<<"ok but..."

cout

<<"no way"

0;}

L2 010 排座位 並查集

時間限制 150 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同...

L2 010 排座位(並查集)

布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同席。輸入格式 輸入第一行給出3個正整數 n 100 即前來參宴的賓客總人數,則這些人從1到n編號 m為已知兩兩賓客之間...

L2 010 排座位 並查集

l2 010 排座位 25 分 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同席。輸入第一行給出3個正整數 n 100 即前來參宴的賓客總人數,則這些人從1到n編號...