求连通分量
Time Limit:1000MS Memory Limit:65536K
Total Submit:243 Accepted:136
Description
求一个图的连通分量
Input
n 顶点数(<=100)
边
Output
连通分量
Sample Input
5
1 2
3 4
2 3
0 0
Sample Output
4
Source
elba
var
a:array[1..1000,1..1000] of boolean;
v:array[1..1000] of boolean;
i,j,k,n,l,max,x,y,ans:longint;
procedure use(l:longint);
var
j:longint;
begin
for j:=1 to n do
if (a[j,l]=true)and(v[j]=false) then//地图相通又没有踩过就走
begin
v[j]:=true;//别忘了标记踩过点了
inc(max);
use(j);//找下一个
end;
end;
begin
read(n);
readln(x,y);
while (x<>0)and(y<>0) do
begin
a[x,y]:=true;
a[y,x]:=true;//在假的地图上标记他两是通的
readln(x,y);
end;
for i:=1 to n do
begin
max:=0;
use(i);//一个一个点踩
if max>ans then ans:=max;//题目上要最大的
end;
end.