7-31
家庭房產
並查集【2020hbu天梯賽訓練】7-31 家庭房產
2023年2月1日11:32:45
並查集合並是改變根節點的父親
7-34
排座位並查集
【2020hbu天梯賽訓練】7-34 排座位
2023年1月31日18:46:30
複習並查集
7-50
部落並查集
2023年2月12日10:33:09
犯了7-34排座位相同錯誤
在乙個社群裡,每個人都有自己的小圈子,還可能同時屬於很多不同的朋友圈。我們認為朋友的朋友都算在乙個部落裡,於是要請你統計一下,在乙個給定社群中,到底有多少個互不相交的部落?並且檢查任意兩個人是否屬於同乙個部落。
輸入在第一行給出乙個正整數n(≤104),是已知小圈子的個數。隨後n行,每行按下列格式給出乙個小圈子裡的人:
k p[1] p[2] ⋯ p[k]
其中k是小圈子裡的人數,p[i](i=1,⋯,k)是小圈子裡每個人的編號。這裡所有人的編號從1開始連續編號,最大編號不會超過104。
之後一行給出乙個非負整數q(≤104),是查詢次數。隨後q行,每行給出一對被查詢的人的編號。
首先在一行中輸出這個社群的總人數、以及互不相交的部落的個數。隨後對每一次查詢,如果他們屬於同乙個部落,則在一行中輸出y
,否則輸出n
。
4
3 10 1 2
2 3 4
4 1 5 7 8
3 9 6 4
210 5
3 7
10 2
yn
#include#includeusing namespace std;
int fa[10005];
int findfa(int x)return x;
}settotal;
int unionfa(int a,int b)else fa[findb]=finda;
}int main()
} setcnt;
for(auto it = total.begin();it!=total.end();it++)printf("%d %d\n",total.size(),cnt.size());
cin>>n;
for(int i=0;i>a>>b;
if(findfa(a)==findfa(b))cout<<"y"
}
2020HBU天梯賽訓練 7 14 福到了
福 字倒著貼,寓意 福到 不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由乙個 n n 的網格組成的,網格中的元素或者為字元 或者為空格。而倒過來的漢字所用的字元由裁判指定。輸入在第一行中給出倒過來的漢字所用的字元 以及網格的規模 n 不超過100的正整數 其間...
2020HBU天梯賽訓練 7 15 誰是贏家
7 15 誰是贏家 某電視台的娛樂節目有個表演評審環節,每次安排兩位藝人表演,他們的勝負由觀眾投票和 3 名評委投票兩部分共同決定。規則為 如果一位藝人的觀眾票數高,且得到至少 1 名評委的認可,該藝人就勝出 或藝人的觀眾票數低,但得到全部評委的認可,也可以勝出。節目保證投票的觀眾人數為奇數,所以不...
2020HBU天梯賽訓練 7 16 猜數字
7 16 猜數字 一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。輸入在第一行給出乙個正整數n 10 4 隨後 n 行,每行給出乙個玩家的名字 由不超過8個英文本母組成的字串 和其猜的正整數 100 在一行中順序輸出 大家平均數的一半 只...