【題目描述】
farmer john的農場被一次意外事故破壞了,有一些農場與其他的農場之間有道路相連,而有些道路卻已被破壞。這使得farmer john 無法了解到從乙個農場能否到達另乙個農場。你的任務就是幫助farmer john來了解哪些農場是連通的。
【輸入格式】
第一行是點數n(1<=n<=500),以下n行為這個圖的鄰接矩陣。
【輸出格式】
第一行是連通塊的個數m,以下m行,每一行是乙個連通塊中農場的序號。
【樣例輸入】
5 0 1 0 1 0
1 0 0 0 0
0 0 0 0 1
1 0 0 0 0
0 0 1 0 0
【樣例輸出】
2 1 2 4
3 5
【分析】
就是求圖的聯通塊。
map:array[0..501,0..501]of longint;
f:array[0..501]of longint;
i,j,k,n,m:longint;
flag:boolean;
procedure
dfs(i,m:longint);
var k:longint;
begin
f[i]:=m;
for k:=1
to n do
if (map[i,k]=1)and(f[k]=0) then dfs(k,m);
end;
begin
readln(n);
for i:=1
to n do
for j:=1
to n do
read(map[i,j]);
m:=0;
for i:=1
to n do
if f[i]=0
then
begin
inc(m);
dfs(i,m);
end;
writeln(m);
for i:=1
to m do
begin
for j:=1
to n do
if f[j]=i then
write(j,' ');
writeln;
end;
end.
相連的宇宙 題解
閃亮星挑戰第二天。天空萬里無雲,是觀測的好天氣。如果繼續確認拍攝的資料,就會發現像未知的小行星一樣的天體。大家非常緊張。這次真的是最後的機會,再次開始拍攝。蒼很可愛,所以她給出了乙個序列 a 和一些操作 0 l r s t 在 a l sim a r 中的每個數依次加上乙個首項為 s 公差為 k 的...
小K的農場
小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得一些含糊的資訊 共m個 以下列三種形式描述 農場a比農場b至少多種植了c個單位的作物,農場a比農場b至多多種植了c個單位的作物,農場a與農場b種植的作物數一樣多。但是,由於小k的記憶有些偏差,所以...
與圓心相連的直線
include includeusing namespace std class circle 由於在point中宣告友元函式crossover point中引數中用了circle,需要提前宣告 class point 建構函式 friend ostream operator friend void...