Pagini recente » Cod sursa (job #656650) | Cod sursa (job #332390) | Cod sursa (job #272942) | Cod sursa (job #73968) | Cod sursa (job #252607)
Cod sursa(job #252607)
var a:array[1..10000,0..10000] of byte;
f,g:text;
c:array[1..100000] of longint;
n,m,i,nc,x,y,xx:longint;
ok:boolean;
procedure euler(nod:integer);
var i:integer;
begin
for i:=1 to n do
if a[i,nod]<>0 then
begin
dec(a[i,nod]);
dec(a[nod,i]);
euler(i);
end;
inc(nc);c[nc]:=nod;
end;
begin
assign(f,'ciclueuler.in');reset(f);
assign(g,'ciclueuler.out');rewrite(g);
read(f,n,m);
fillchar(a,sizeof(a),0);
xx:=0;
for i:=1 to m do
begin
read(f,x,y);
if xx=0 then xx:=x;
inc(a[x,y]);inc(a[x,0]);
inc(a[y,x]);inc(a[y,0]);
end;
ok:=true;
for i:=1 to n do if a[i,0] mod 2<>0 then ok:=false;
if ok=true then
begin
nc:=0;
euler(xx);
if nc<m then writeln(g,'-1')
else
for i:=1 to nc-1 do write(g,c[i],' ');
writeln(g);
end
else writeln(g,'-1');
close(g);
end.