连通图
Time Limit:1000MS Memory Limit:65536K
Total Submit:156 Accepted:88
Description
判断一个图是否为一个边通图
Input
n 顶点 (n<=100)
边
Output
1 表示连通
0 表示不边通
Sample Input
5
1 2
2 3
5 4
0 0
Sample Output
0
Source
elba
type
arr=array[0..100,0..100]of longint;var
i,j,k,n,m,x,y,s,ss,max:longint;
a:array[0..100,0..100]of boolean;
b:array[0..10000]of longint;
procedure bfs(s,dep:longint);
var
i,j,ss:longint;
begin
if dep>=n then
begin
writeln(1);
close(input);
halt;
end;
for i:=1 to n do
begin
if a[s,i] then
begin
b[i]:=b[i]+1;
ss:=i;
if b[i]>=1 then
begin
a[x,y]:=false;
a[y,x]:=false;
bfs(i,dep+1);
a[x,y]:=true;
a[y,x]:=true;
b[i]:=0;
end else
begin
a[x,y]:=false;
a[y,x]:=false;
bfs(i,dep);
a[x,y]:=true;
a[y,x]:=true;
b[i]:=0;
end;
end;
end;
end;
begin
assign(input,'233.in');reset(input);
readln(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=false;
repeat
readln(x,y);
a[x,y]:=true;
a[y,x]:=true;
until (x=0) and (y=0);
bfs(1,0);
writeln(max);
close(input);
end.