连通图
Time Limit:1000MS Memory Limit:65536K
Total Submit:160 Accepted:90
Description
判断一个图是否为一个边通图
Input
n 顶点 (n<=100)边
Output
1 表示连通
0 表示不边通
Sample Input
5
1 2
2 3
5 4
0 0
Sample Output
0
其实就是判断是不是所有点都是连通的
var
i,n,x,y:longint;
b:array[0..101,0..101]of boolean;
a:array[0..101]of boolean;
procedure dfs(k:longint);
var i:longint;
begin
for i:=1 to n do
if (b[i,k])and(a[i]=false) then
begin
a[i]:=true;
dfs(i);
end;
end;
begin
readln(n);
readln(x,y);
while (x<>0)or(y<>0) do
begin
b[x,y]:=true;
b[y,x]:=true;
readln(x,y);
end;
for i:=1 to n do
dfs(i);
x:=0;
for i:=1 to n do
if a[i] then inc(x);
if x=n then writeln(1)
else writeln(0);
end.