L2 010 排座位 25 分 滿分 詳解

2021-09-29 22:58:01 字數 1018 閱讀 8930

這個題用了將近3個小時,終於通過了全部的測試點,我太難了!

主要用到知識就是 ---->並查集

#include

#include

//是標準的c++,包含在std這個標頭檔案裡面;

using

namespace std;

#include

//vector容器的標頭檔案;

int enemy[

111]

[111];

vector<

int>

friendl

(120);

//vector使用之前先設定好陣列的大小;

// #include

// mapv;//好處是,可以把兩個不相干的資料通過鍵和值的關係聯絡起來;

intfriendly

(int x)

//尋找祖先節點;

return x;

//返回根元素;

}void

union

(int a,

int b)

}int

main()

for(i=

1;i<=m;i++

)else

}for

(i=1

;i<=k;i++

)elseif(

friendly

(m1)

!=friendly

(m2)

&& enemy[m1]

[m2]==0

)//朋友關係——敵對關係;

elseif(

friendly

(m1)

==friendly

(m2)

&& enemy[m1]

[m2]==1

)//他們之間有敵對,然而也有共同的朋友

else

if(enemy[m1]

[m2]==1

)//如果他們之間只有敵對關係

}}

L2 010 排座位(25 分)

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

L2 010 排座位 (25 分)

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

L2 010 排座位 25 分

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