Cod sursa(job #178383)

Utilizator chelaru_t_achelaru traian andrei chelaru_t_a Data 14 aprilie 2008 15:03:43
Problema Taramul Nicaieri Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.99 kb
type harta=record
           p,i:integer;
           end;
var n:integer;
  a:array [1..100] of harta;
  f,t:text;

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

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

begin
  assign(f,'harta.in');
  assign(t,'harta.out');
  reset(f);
  rewrite(t);
  citire;
  plecare;
  close(f);
  close(t);
end.