Cod sursa(job #926898)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 25 martie 2013 13:59:34
Problema Ciclu Eulerian Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
program euler;
var f,g:text;
    ad:array[1..1000,1..1000] of 0..1;
    a:array [0..1000,0..1000]  of longint;
    n,m,i,x,y,nr:longint;
    retine:array[1..100000] of longint;

procedure euler(v:longint);
var w,i:longint;
begin
 for i:=1 to a[v,0] do
 begin
  w:=a[v,i];
  if ad[v,w]=1 then
  begin
  ad[v,a[v,i]]:=0;
  ad[a[v,i],v]:=0;
  euler(w);
 end;
 end;
   inc(nr); retine[nr]:=v;
end;

begin
 assign (f,'ciclueuler.in'); reset (f);
 assign (g,'ciclueuler.out'); rewrite(g);
 readln (f,n,m);
 {setlength(a,n+1,1);}
 for i:=1 to m do
 begin
  read  (f,x,y);
  {setlength(a[x],length(a[x])+1);}
  inc(a[x,0]);
  a[x,a[x,0]]:=y;
 { setlength(a[y],length(a[y])+1);  }
  inc(a[y,0]);
  a[y,a[y,0]]:=x;
  ad[x,y]:=1; ad[y,x]:=1;
 end;
 nr:=0;
 euler(1);
 for i:=1 to nr do write (g,retine[i],' ');
 close (F); close (G);
end.