Cod sursa(job #178429)

Utilizator chelaru_t_achelaru traian andrei chelaru_t_a Data 14 aprilie 2008 16:27:19
Problema Taramul Nicaieri Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.91 kb
type harta=record
           p,i:integer;
           end;
var n:integer;
  v:array [1..100] of harta;
  fin,fout:text;

 procedure citire;
  var i,s:integer;
  begin
   readln(fin,n);
   s:=0;
   for i:=1 to n do
     begin
     readln(fin,v[i].p,v[i].i);
     s:=s+v[i].p;
     end;
   writeln(fout,s);
  end;

 procedure drum;
  var i,j,x:integer;
    a:array [1..100] of integer;
  begin
   for i:=1 to n do a[i]:=v[i].p;
   for i:=1 to n do
     begin
     x:=0;
     j:=n+1;
     while (x<>v[i].i) and (j<>1) do
       begin
       j:=j-1;
       if j<>i then
         if (a[j]<>0) then
           begin
           writeln(fout,j,' ',i);
           a[j]:=a[j]-1;
           x:=x+1;
           end;
       end;
     end;
  end;

begin
  assign(fin,'harta.in');
  assign(fout,'harta.out');
  reset(fin);
  rewrite(fout);
  citire;
  drum;
  close(fin);
  close(fout);
end.