SSL 2344 燒錄光碟

2021-08-17 03:10:31 字數 698 閱讀 8495

n n

個人,每個人都可以把資料拷貝給另乙個人,但每個人只願意拷給他想拷給的人,問需要幾份資料。

n<=

' role="presentation" style="position: relative;">n

<=

n<=

200一開始想用並查集,但並查集是雙向的,而這題是單向的,所以先跑遍floyed,查詢所有願意拷貝的人,在一邊單向並查集,求出最後祖先是自己的個數

#include

#include

#define r(i,a,b) for(int i=a;i<=b;i++)

using

namespace

std;

int n,a,ans,f[201];

bool l[201][201];

int main()

r(k,1,n)

r(i,1,n)

r(j,1,n)

if(i!=j)

l[i][j]=l[i][j]||(l[i][k]&&l[k][j]);//一遍floyed

r(i,1,n) r(j,1,n) if(l[i][j]) f[j]=f[i];//賦值祖先

r(i,1,n) if(f[i]==i) ans++;//統計,輸出

printf("%d",ans);

}

SSL ZYC 2344 燒錄光碟

題目大意 思路 先用floyed求出乙個人最終可以想誰借到光碟,再利用乙個很類似並查集的東西求出答案 include include using namespace std int father 201 a 201 201 n,x,sum int main for int k 1 k n k for...

SSL ZYC 2344 燒錄光碟

題目大意 思路 先用floyed求出乙個人最終可以想誰借到光碟,再利用乙個很類似並查集的東西求出答案 include include using namespace std int father 201 a 201 201 n,x,sum int main for int k 1 k n k for...

1383 燒錄光碟 cdrom

在fjoi2010夏令營快要結束的時候,很多營員提出來要把整個夏令營期間的資料燒錄成一張光碟給大家,以便大家回去後繼續學習。組委會覺得這個主意不錯!可是組委會一時沒有足夠的空光碟,沒法保證每個人都能拿到燒錄上資料的光碟,怎麼辦呢?dyj分析了一下所有營員的地域關係,發現有些營員是乙個城市的,其實他們...