Pagini recente » Cod sursa (job #3244795) | Borderou de evaluare (job #103485) | Cod sursa (job #1219633) | Cod sursa (job #1944566) | Cod sursa (job #253812)
Cod sursa(job #253812)
#include<stdio.h>
#define N 100010
#define NN 100
struct sistem
{
int x,y;
};
int n,m;
int xd,yd,r;
sistem v[N];
inline int modul(int x)
{
if(x<0)
return -x;
return x;
}
inline void citesc(int &x,int &y)
{
char c[NN];
fgets(c,NN,stdin);
bool semn=false;
int aux=0;
int i=0;
if(c[i]=='-')
{
semn=true;
i=1;
}
for(; c[i]>='0' && c[i]<='9'; ++i)
aux=aux*10+c[i]-'0';
if(semn)
aux=-aux;
semn=false;
x=aux;
aux=0;
++i;
if(c[i]=='-')
{
semn=true;
++i;
}
for(; c[i]>='0' && c[i]<='9'; ++i)
aux=aux*10+c[i]-'0';
if(semn)
aux=-aux;
y=aux;
}
inline void citesc()
{
char c[NN];
fgets(c,NN,stdin);
int aux=0,i=0;
bool semn=false;
if(c[i]=='-')
{
semn=true;
++i;
}
for(; c[i]>='0' && c[i]<='9'; ++i)
aux=aux*10+c[i]-'0';
if(semn)
aux=-aux;
xd=aux;
aux=0;
semn=false;
++i;
if(c[i]=='-')
{
semn=true;
++i;
}
for(; c[i]>='0' && c[i]<='9'; ++i)
aux=aux*10+c[i]-'0';
if(semn)
aux=-aux;
yd=aux;
aux=0;
semn=false;
++i;
for(; c[i]>='0' && c[i]<='9'; ++i)
aux=aux*10+c[i]-'0';
r=aux;
}
inline void citire()
{
scanf("%d%d\n",&n,&m);
for(int i=0; i<n; ++i)
citesc(v[i].x,v[i].y);
}
inline void rezolva()
{
int rez=0;
for(int i=0; i<n; ++i)
{
if(modul(xd-v[i].x)+modul(yd-v[i].y)==r)
++rez;
}
if(!rez)
{
fputs("0\n",stdout);
return;
}
char c[20];
int nr=0;
while(rez)
{
c[++nr]=rez%10+'0';
rez/=10;
}
for(int i=1,j=nr; i<j; ++i,--j)
{
char aux=c[i];
c[i]=c[j];
c[j]=aux;
}
c[nr+1]='\n';
c[nr+2]='\0';
fputs(c+1,stdout);
}
int main()
{
freopen("grendizer.in","r",stdin);
freopen("grendizer.out","w",stdout);
citire();
//for(int i=0; i<n; ++i)
// printf("%d %d\n",v[i].x,v[i].y);
for(; m; --m)
{
citesc();
//printf("%d %d %d\n",xd,yd,r);
rezolva();
}
return 0;
}