Cod sursa(job #163288)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 21 martie 2008 21:41:26
Problema Taramul Nicaieri Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
var n,i,j,s,q:longint;
a,b,c:array[1..1000] of longint;
v:array [1..30,1..30] of longint;
f,g:text;
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[i]:=0;
    for j:=1 to n do
    if (j<>i) and (b[j]>0) then begin
    c[b[j]]:=c[b[j]]+1;
    v[b[j],c[b[j]]]:=j;
    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.