连通图

来源:互联网 发布:read修复软件 编辑:程序博客网 时间:2024/05/26 16:00

连通图
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.
0 0
原创粉丝点击