EOJ_1081_朋友圈
生活随笔
收集整理的這篇文章主要介紹了
EOJ_1081_朋友圈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//每個俱樂部的第一個人是老大,但是要知道每個俱樂部的老大是不是別人的小弟,
//原則是,每次合并關系,都是老大和老大的比較
#include<bits/stdc++.h>using namespace std;int parent[30003];int findParent(int parent[], int i)
{int tmpi = i;while(parent[i]>=0) i = parent[i];//路徑壓縮while(tmpi!=i){int tmpParent = parent[tmpi];parent[tmpi] = i;tmpi = tmpParent;}return i;
}int unionParent(int parent[], int i, int j)
//返回根節點
{int rooti = findParent(parent, i);int rootj = findParent(parent, j);if(rootj==rooti) return rooti;int tmpCount= parent[rooti] + parent[rootj];if(parent[rooti]>parent[rootj]){parent[rooti] = rootj;parent[rootj] = tmpCount;return rootj;}else{parent[rootj] = rooti;parent[rooti] = tmpCount;return rooti;}
}int main()
{int numStu, numClub;cin>>numStu>>numClub;int cnt=-1,ans=-1;for(int i=0;i<numStu;i++) parent[i]=-1;for(int i=0;i<numClub;i++){int stuClub,tmpRoot;cin>>stuClub>>tmpRoot;for(int j=1;j<stuClub;j++){int tmpStu;cin>>tmpStu;cnt = unionParent(parent, tmpRoot, tmpStu);ans = min(ans, parent[cnt]);}}cout<<-ans<<endl;return 0;
}
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的EOJ_1081_朋友圈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOJ_1064_树的层号表示法
- 下一篇: EOJ_1082_Virtual Fri