寻找欧拉路
Time Limit:10000MS Memory Limit:65536K
Total Submit:49 Accepted:27
Case Time Limit:1000MS
Description
如果图存在一笔画,则一笔画的路径称为欧拉路
Input
第一行n,m,有n个点,m条边,以下描述每条边连接的两点。
Output
欧拉或欧拉回路
Sample Input
5 5
1 2
2 3
3 4
4 5
5 1
Sample Output
1 5 4 3 2 1
从起点开始有相邻节点继续搜
const maxn=100; var a:array[0..maxn,0..maxn] of longint; ans,b:array[0..maxn] of longint; i,j,n,m,s,p:longint; procedure find(i:longint); var j:longint; begin for j:=1 to n do if a[i,j]=1 then begin a[i,j]:=0; a[j,i]:=0; find(j); end; inc(s); ans[s]:=i; end; begin readln(n,m); for i:=1 to m do begin readln(j,p); a[j,p]:=1; a[p,j]:=1; inc(b[j]); inc(b[p]); end; p:=1; for i:=1 to n do if b[i] mod 2=1 then p:=i; find(p); for i:=1 to s do write(ans[i],' '); end.