Pagini recente » Cod sursa (job #468554) | Cod sursa (job #2317620) | Cod sursa (job #1533200) | Cod sursa (job #647285) | Cod sursa (job #1347434)
program graf_eulerian;
var //t:array[0..1,1..1000000] of longint;
eul:array[1..1000000] of longint;
a:array[1..10000,1..10000] of 0..1;
bufin,bufout:array[1..5000001] of byte;
n,m,k,i,p,j,sf:longint;
f,g:text;
procedure citire;
var i,j,k:longint;
begin
assign(f,'ciclueuler.in'); reset(f);
assign(g,'ciclueuler.out'); rewrite(g);
settextbuf(f,bufin);
settextbuf(f,bufout);
readln(f,n,m);
{for k:=1 to m do
begin
readln(f,i,j);
t[0,k]:=j;
t[1,k]:=start[i];
start[i]:=k;
t[0,k]:=i;
t[1,k]:=start[i];
start[j]:=k;
end;}
for k:=1 to m do
begin
readln(f,i,j);
a[i,j]:=1;
a[j,i]:=1;
end;
close(f);
end;
procedure ciclu(p:longint);
begin
for k:=1 to n do
if a[eul[p],k]=1 then
begin
a[eul[p],k]:=0;
a[k,eul[p]]:=0;
sf:=sf+1;
for j:=sf downto p+1 do
eul[j]:=eul[j-1];
eul[p+1]:=k;
p:=p+1;
ciclu(p);
end;
end;
begin
citire;
eul[1]:=1;
sf:=1;
i:=1;
while eul[i]<>0 do
begin
ciclu(i);
i:=i+1;
end;
for i:=1 to sf do
write(g,eul[i]);
close(g);
end.