题目链接:https://noj.njupt.edu.cn/problem/PROB1018
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//算出每块地到洒水器的距离
float distance(int x1,int y1,int x2,int y2){
return sqrt(pow(x1-x2,2)+pow(y1-y2,2));
}
int main(){
int n,k,r,num;//num为所能被洒水器洒到水的总数
int x[200],y[200];//定位洒水器坐标
scanf("%d %d %d",&n,&k,&r);
for(int m = 0;m<k;m++){
scanf("%d %d",&x[m],&y[m]);
}
//i,j为分别每块地的横纵坐标
for(int i = 1;i<=n;i++){
for(int j = 1;j<=n;j++){
for(int m = 0;m<k;m++){
if(distance(i,j,x[m],y[m])<=r){
num++;
break;//找到一个就跳出循环,避免重复累加
}
}
}
}
printf("%d",num);
}