相連的農場

2021-07-22 05:02:18 字數 1195 閱讀 6410

【題目描述】

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...