POJ 2230 无向图欧拉环

来源:互联网 发布:中学生学什么编程语言 编辑:程序博客网 时间:2024/04/28 19:20

题意简述

打印能遍历无向图所有边恰一次的一种方案。


分析

无向图欧拉环模板题,DFS过程中直接倒序输出已访问顶点的编号,最后再加上起点即可。


代码实现

type  edge=record  re,next:longintend;varn,m,cnt,i,x,y:longint;f:array[0..10010] of longint;e:array[0..100050] of edge;vs:array[0..100050] of boolean;procedure add(x,y:longint);begin  inc(cnt);  with e[cnt] do  begin    re:=y;next:=f[x];  end;  f[x]:=cnt;end;procedure dfs(x:longint);var tmp:longint;begin  tmp:=f[x];  while tmp<>0 do  begin    if not vs[tmp] then    begin      vs[tmp]:=true;      dfs(e[tmp].re);      writeln(e[tmp].re);    end;    tmp:=e[tmp].next;  end;end;begin  readln(n,m);cnt:=1;  for i:=1 to m do  begin    readln(x,y);    add(x,y);add(y,x);  end;  dfs(1);  writeln(1);end.
0 0
原创粉丝点击