Cod sursa(job #253736)
Utilizator | Data | 6 februarie 2009 11:58:37 | |
---|---|---|---|
Problema | Grendizer | Scor | 20 |
Compilator | fpc | Status | done |
Runda | Stelele Informaticii 2009, clasele 9-10, ziua 1 | Marime | 1.26 kb |
program alex;
var f,g:text;
c:array[-301..301,0..5000]of longint;
a,b:array[1..501]of integer;
i,j,m,n,nr,s,r,x,y,h:longint;
begin
assign(g,'grendizer.out');rewrite(g);
assign(f,'grendizer.in');reset(f);
readln(f,n,m);
if n<1000 then begin
for i:=1 to n do
readln(f,a[i],b[i]);
for i:=1 to m do
begin
readln(f,x,y,r);
nr:=0;
for j:=1 to n do
begin
s:=abs(x-a[j])+abs(y-b[j]);
if s=r then nr:=nr+1;
end;
writeln(g,nr);
end;
end
else begin
for i:=1 to n do
begin
readln(f,x,y);
c[x,0]:=c[x,0]+1;
c[x,c[x,0]]:=y;
end;
for i:=1 to m do
begin
readln(f,x,y,r);
nr:=0;
for j:=x-r to x+r do
for h:=1 to c[j,0] do
begin
s:=abs(x-j)+abs(y-c[j,h]);
if s=r then nr:=nr+1;
end;
writeln(g,nr);
end;
end;
close(f);close(g);
end.