程式設計開發Gang團夥問題求解

2022-09-23 16:27:13 字數 935 閱讀 9967

程式設計開發gang團夥問題求解。

在某城市裡住著n個人,任何兩個認識的人不是朋友就是敵人,而且滿足: 1、 我朋友的朋友是我的朋友; 2、 我敵人的敵人是我的朋友; 所有是朋友的人組成乙個團夥。告訴你關於這n個人的m條資訊,即某兩個人是朋友,或者某兩個人是敵人,請你編寫乙個程式,計算出這個城市最多可能有多少個團夥?

input

第1行為n和m,n小於1000,m小於5000; 以下m行,每行為p x y,p的值為0或1,p為0時,表示x和y是朋友,p為1時,表示x和y是敵人。

output

乙個整數,表示這n個人最多可能有幾個團夥。

sample input

e 1 4

f 3 5

f 4 6

e 1 2

sample output

hint

,,題解

巧妙利用並查集合並。

如果a與b是朋友則直接合併a,b

否則a與b』合併b與a』合併,因為這樣剛好可以滿足敵人的敵人是朋友。

**#include

#include

#include

#include

#include

typedef long long ll;

using namespace std;

inline int read()

int n,m,ans,f[2005],a[1005];

bool mark[2005];

int find(int i)

int main()

for (int i=1;i<=n;i++)a[i]=find(i),mark[a[i]]=1;

for (int i=1;i<=2*n;i++) if (mark[i]) ans++;

printf("%d",ans);

return 0;

}

程式設計開發求解吊燈問題

description alice家裡有一盞很大的吊燈。所謂吊燈,就是由很多個燈泡組成。只有乙個燈泡是掛在天花板上的,剩下的燈泡都是掛在其他的燈泡上的。也就是說,整個吊燈實際上類似於一棵樹。其中編號為1的燈泡是掛在天花板上的,剩下的燈泡都是掛在編號小於自己的燈泡上的。現在,alice想要辦一場派對,...

問題求解與程式設計

問題提出時,想要利用計算機進行求解,而一般計算機不會分析問題並直接給出解決問題的方案,故我們個人需要分析問題並給出問題的解決方案,再將其描述成計算機能識別的指令 程式 讓計算機進行複雜處理,最終得到問題結果,在這一過程中,計算機確起著非常重要的作用,但是要是沒有前面的一系列步驟,也不能解決問題 程式...

本人初學程式設計,遇到問題,求解答

上位機程式設計 從網上直接找的串列埠程式 void c串列埠v2dlg oncommmscomm1 long k variant inputdata m mscom.get input colesafearray fs fs inputdata for k 0 k 編譯總是出現錯誤 warning ...