Cod sursa(job #594694)

Utilizator vendettaSalajan Razvan vendetta Data 8 iunie 2011 22:26:06
Problema Ciclu Eulerian Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
const f = 'ciclueuler.in'; gg = 'ciclueuler.out';
const max_n = 101;
      max_m = 1001;
var
    c: array[0..max_m] of integer;
    n, m, nc : integer;
    g : array[0..max_n,0..max_n] of byte;
    i, x, y : longint;

procedure euler( nod : longint);
    var
        urm : longint;
    begin
        for urm := 1 to n do
            if g[nod,urm]<>0 then begin
                g[nod,urm] := 0;
                g[urm,nod] := 0;
                euler( urm );
            end;
        c[nc] := nod; inc( nc );
    end;
begin
    assign( input,f ); reset( input );
    assign( output,gg ); rewrite( output );
    readln( n, m );
    for i := 1 to m do begin
        readln( x,y );
        g[x,y] := 1;
        g[y,x] := 1;
    end;
    nc := 1;
    euler( 1 );
    for i := nc-1 downto 1 do write( c[i],' ');
end.