這個題用了將近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為已知兩兩賓客之間的關係數 ...