使用並查集,對於兩個數,查詢他們是否屬於同乙個集合,屬於同乙個集合就說明他們是朋友。對於敵人則開乙個陣列來特別記錄是敵對關係的兩個乘客。
#includeint pre[101];
int enemy[101][101];
int find(int x)//查詢所在集合,並做路徑壓縮,方便下次查詢
int i=x,j;
while(pre[i]!=r)//路徑壓縮
return r;
}void join(int x,int y)//合併
}int main()
int u,v,w;
for(i=0; i
else//w=-1時表示為敵人,陣列記錄一下兩者的關係
}int a,b;
for(i=1; i<=k; i++)
if(enemy[a][b]==-1||enemy[b][a]==-1)//判斷是否為敵人
if(isfriend==1&&isenemy!=1)
else if(isfriend==1&&isenemy==1)
else if(isfriend!=1&&isenemy==1)
else if(isfriend!=1&&isenemy!=1)
}return 0;
}
演算法與資料結構實驗題1 9
實驗任務 上回說到,你奔走於各個世界線拯救靜靜。現在,完成任務的你決定玩個簡單的遊戲靜一靜。我們知道,數字在計算機裡是用二進位制儲存的,現在你想知道如果把乙個數字的二進位制倒過來是多少。比如 int a 5,用二進位制表示就是00000000000000000000000000000101。把它倒過...
演算法與資料結構實驗題 3 1 火車
實驗任務 tonyy 等火車無聊的時候,會去觀察火車的排列,有一天他思考這麼乙個問 題,火車總站的火車只能進站,要出站的話只能先出最後進站的那輛車,那麼知 道火車的進站順序,能不能把它的出站順序調整成火車站想要的呢?資料輸入 輸入第一行為乙個正整數 n 表示火車輛數 編號 1 n 1 n 9 然後為...
資料結構與演算法實驗祝恩 《資料結構與演算法》實驗報告
保持青春的秘訣,是有一顆不安分的心。資料結構與演算法 實驗報告 模板 實驗題目 線性表綜合實驗 班級 姓名 學號 完成日期 一 實驗目的 熟悉線性表的基本操作在兩種儲存結構上的實現,其中以熟悉各種鍊錶的操作為重點。通過具體應用例項在複習高階程式語言使用方法的基礎上初步了解資料結構的應用。二 實驗內容...