Cod sursa(job #278733)

Utilizator botaMihai Botezatu Catalin bota Data 12 martie 2009 14:47:19
Problema Taramul Nicaieri Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.11 kb
var i,j,n,q,s:longint;   
f,g:text;   
a,b,c:array[1..1000] of longint;   
v:array[1..300,1..300] of longint;   
begin  
assign(f,'harta.in');reset(f);   
assign(g,'harta.out');rewrite(g);   
read(f,n);   
s:=0;   
for i:=1 to n do begin  
read(f,a[i],b[i]);   
s:=s+a[i];   
                 end;   
writeln(g,s);   
for i:=1 to n do begin  
    for j:=1 to n do c[j]:=0;   
        for j:=1 to n do begin  
            if (b[j]>0) and (j<>i) then begin  
                                inc(c[b[j]]);   
                                v[b[j],c[b[j]]]:=j;   
                                        end;   
                         end;   
                   for j:=n downto 1 do  
                        while c[j]>0 do begin  
                           if a[i]=0 then break;   
                             q:=v[j,c[j]];   
                             writeln(g,i,' ',q);   
                                dec(b[q]);   
                                dec(a[i]);   
                                dec(c[j]);   
                        end;   
        end;   
close(f);   
close(g);   
end.