Cod sursa(job #84675)

Utilizator FoaiaFoaia de Hartie Foaia Data 16 septembrie 2007 12:36:51
Problema Taramul Nicaieri Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
var i,j,n,r:longint;
    f1,f2:text;
    a,b,v:array[1..1000] of longint;
    mt:array[1..200,1..200] of longint;
begin
        assign(f1,'harta.in');
        reset(f1);
        assign(f2,'harta.out');
        rewrite(f2);
        read(f1,n);
        for i:=1 to n do
        begin
                read(f1,a[i],b[i]);
                j:=j+a[i];
        end;
        writeln(f2,j);
        for i:=1 to n do
        begin
                for j:=1 to n do v[j]:=0;
                for j:=1 to n do
                begin
                        if (b[j]>0)and(j<>i) then
                        begin
                                inc(v[b[j]]);
                                mt[b[j],v[b[j]]]:=j;
                        end;
                end;
                for j:=n downto 1 do
                        while v[j]>0 do
                        begin
                                if a[i]=0 then break;
                                r:=mt[j,v[j]];
                                writeln(f2,i,' ',r);
                                dec(b[r]);
                                dec(a[i]);
                                dec(v[j]);
                        end;
        end;
        close(f1);
        close(f2);
end.