求助!!!30分!!!
查看原帖
求助!!!30分!!!
1246661
feng_chenShy楼主2024/12/15 22:38

代码:

#include <iostream>
#include <math.h>
#define in scanf
#define out printf
using namespace std;
struct node{
	int x;
	int y;
	bool ff;
}a[1005];
int n , k , T , cnt;
double getl(int x1 , int y1 , int x2 , int y2){
	return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2 ));
}
int main(){
	in ("%d%d%d" , &n , &k , &T);
	for (int i = 1;i <= n;i ++){
		in ("%d%d" , &a[i].x , &a[i].y);
	}
	for (int i = 1;i <= k;i ++){
		int x , y;
		in ("%d%d" , &x , &y);
		for (int j = 1;j <= n;j ++){
			if (a[j].x == x && a[j].y == y){
				a[j].ff = true;
				break;
				
			}
		}
	}
	for (int i = 1;i <= k;i ++){
		int x , y;
		in ("%d%d" , &x , &y);
		double maxl = -1;
		int ans = 0;
		for (int j = 1;j <= n;j ++){
			if (getl(x , y , a[j].x , a[j].y) > maxl){
				maxl = getl(x , y , a[j].x , a[j].y);
				ans = j;
			}
		}
		if (a[ans].ff)	cnt ++;
	}
	out ("%d" , cnt);
	return 0;
}
2024/12/15 22:38
加载中...