n (2),於是我們假設這些計算機從 1 到
n 編號。隨後每行輸入按以下格式給出:
i c1 c2
c c1 c2
s
5
c 3 2
i 3 2
c 1 5
i 4 5
i 2 4
c 3 5
s
no
noyes
there are 2 components.
5
c 3 2
i 3 2
c 1 5
i 4 5
i 2 4
c 3 5
i 1 3
c 1 5
s
no
noyes
yes
the network is connected.
並查集問題。剛開始輸出錯誤,問題出來最後的判斷,如果只有乙個集合,則證明所有的機器都連線在一起了。
#include#include#define maxn 199999
using namespace std;
int f[maxn];
int n;
void init()
int getf(int a)
}void merg(int v,int u)
bool zz(int c1,int c2)
int main()
if(c=='i')
merg(c1,c2);
}for(int i=1;i<=n;i++)
if(sum==1)
printf("the network is connected.");
else
printf("there are %d components.",sum);
}
7 32 檔案傳輸 (25 分)
7 32 檔案傳輸 25 分 當兩台計算機雙向連通的時候,檔案是可以在兩台機器間傳輸的。給定一套計算機網路,請你判斷任意兩台指定的計算機之間能否傳輸檔案?首先在第一行給出網路中計算機的總數 n 2 n 10 4 於是我們假設這些計算機從 1 到 n 編號。隨後每行輸入按以下格式給出 i c1 c2其...
7 11 檔案傳輸 (25 分
當兩台計算機雙向連通的時候,檔案是可以在兩台機器間傳輸的。給定一套計算機網路,請你判斷任意兩台指定的計算機之間能否傳輸檔案?首先在第一行給出網路中計算機的總數 n 2 n 104 於是我們假設這些計算機從 1 到 n 編號。隨後每行輸入按以下格式給出 i c1 c2 其中i表示在計算機c1和c2之間...
並查集 7 2 檔案傳輸(25 分)
首先在第一行給出網路中計算機的總數 n 2 n 10 4 於是我們假設這些計算機從 1 到 n 編號。隨後每行輸入按以下格式給出 i c1 c2其中i表示在計算機c1和c2之間加入連線,使它們連通 或者是 c c1 c2其中c表示查詢計算機c1和c2之間能否傳輸檔案 又或者是 s這裡s表示輸入終止。...