#include<bits/stdc++.h>
using namespace std;
int n,m,k,t,x,y,ans,maxn=0;//ans表示一个炸弹可以炸的街道,maxn取最大的
double dis(int x,int y,int a,int b)//取距离函数,很重要
{
return sqrt((x-a)*(x-a)+(y-b)*(y-b));//两点之间距离公式
}
int main()
{
scanf("%d%d%d%d",&n,&m,&k,&t);//输入
for(int q=1;q<=k;q++) {
ans=0;//不要忘了初始化
scanf("%d%d",&x,&y);//线上计算
for(int i=max(x-t,1);i<=min(n,x+t);i++) {//借鉴的大佬的思路,特别是这里
for(int j=max(y-t,1);j<=min(m,y+t);j++) {
if(dis(i,j,x,y)<=t)//小于爆炸范围
ans++;//计数器加加
}
}
if(maxn<ans)//取最大值
maxn=ans;
}
printf("%d",maxn);//输出
return 0;
}
P2074 危险区域
最新推荐文章于 2024-06-18 15:33:20 发布