Cod sursa(job #594697)

Utilizator vendettaSalajan Razvan vendetta Data 8 iunie 2011 22:34:05
Problema Ciclu Eulerian Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
const f = 'ciclueuler.in'; gg = 'ciclueuler.out';
const max_n = 100000;
      max_m = 500000;
var
    c: array[0..max_m] of longint;
    n, m, nc : longint;
    g : array[0..10000,0..10000] 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 := 1 to nc-1 do write( c[i],' ');
end.