80分求调
查看原帖
80分求调
538426
xx31_qwq楼主2024/9/18 14:19
#include<bits/stdc++.h>
using namespace std;
const int maxn=1005;
int n,k,t;
int cnt,res;
struct p
{
	int x,y;
	bool m;
}d[maxn];
int distance(int a1,int b1,int a2,int b2)
{
	return sqrt((a1-a2)*(a1-a2)+(b1-b2)*(b1-b2));
}
int main()
{ 
	p nn[maxn],kk[maxn],tt[maxn];
	scanf("%d%d%d",&n,&k,&t);
	for(int i=1;i<=n;i++)
		 scanf("%d%d",&nn[i].x,&nn[i].y);
	for(int i=1;i<=k;i++)
	{
		 scanf("%d%d",&kk[i].x,&kk[i].y);
		 for(int j=1;j<=n;j++)
		 {
		 	  if(nn[j].x==kk[i].x && nn[j].y==kk[i].y)
			  {
					nn[j].m=true;
			  }
		 }
	}    
	for(int i=1;i<=t;i++)
	{
		scanf("%d%d",&tt[i].x,&tt[i].y);
		int maxd=-1;
		for(int j=1;j<=n;j++)
		{
			if(distance(tt[i].x,tt[i].y,nn[j].x,nn[j].y)>maxd)
			{
			    cnt=j;
			    maxd=distance(tt[i].x,tt[i].y,nn[j].x,nn[j].y);
		    }
	    }
	    if(nn[cnt].m)
	    {
	    	++res;
		}
	}    	    
	printf("%d",res); 
	return 0;
} 
2024/9/18 14:19
加载中...