Cod sursa(job #115504)

Utilizator razvan_emPrecupas Razvan razvan_em Data 16 decembrie 2007 12:51:57
Problema Rays Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 1.18 kb
program rays;
type matrice=array [1..3,1..1000] of longint;
var f,g:text;
    r:matrice;
    ordine:array [1..1000] of longint;
    n,i,l:longint;
    k,nr:word;
    j:1..3;
    k1,k2,k3,k4:boolean;

begin
assign(f,'rays.in'); reset(f);
assign(g,'rays.out'); rewrite(g);
readln(f,n);  k:=0;
for i:=1 to n do   {citirea si stabilirea cadranelor}
begin
for j:=1 to 3 do
read(f,r[i,j]);
if r[i,1]>0 then
begin
if ((r[i,2]>=0) and (r[i,3]>=0)) or ((r[i,2]<=0) and (r[i,3]<=0)) then
begin
k:=k+1;
ordine[k]:=i;
end;end
else if ((r[i,2]>=0) and (r[i,3]>=0)) or ((r[i,2]<=0) and (r[i,3]<=0)) then
begin
k:=k+1;
ordine[k]:=i;
end;
readln(f);
end;

k1:=true; k2:=true; k3:=true; k4:=true;
for i:=1 to k do
if r[ordine[i],1]>0 then
begin
if r[ordine[i],2]>=0 then
if k1 then
begin
nr:=nr+1; k1:=false;
end;
if r[ordine[i],2]<=0 then
if k2 then
begin
nr:=nr+1; k2:=false;
end; end
else
begin
if r[ordine[i],2]<=0 then
if k3 then
begin
nr:=nr+1; k3:=false;
end;
if r[ordine[i],2]>=0 then
if k4 then
begin
nr:=nr+1; k4:=false;
end; end;

for i:=1 to n-1 do
for l:=i+1 to n do
if r[i,1]=r[l,1] then nr:=nr+1;
write(g,nr);
close(f); close(g);
end.