求助,二十分不通过
查看原帖
求助,二十分不通过
1562050
zzzzxxxxxxx楼主2024/11/12 20:34
#include<stdio.h>

struct spot {
	int x;
	int y;
	int flag;
}a[1005];

double getdist(int x, int y, int z, int m) {
	return (x - z) * (x - z) + (y - m) * (y - m);
}

int main()
{
	int n, t, k;
	scanf("%d %d %d", &n, &t, &k);

	for (int i = 1; i <= n; i++) {
		scanf("%i %i", &a[i].x, &a[i].y);
	}

	for (int j = 1; j <= t; j++) {
		int x, y;
		scanf("%d %d", &x, &y);
		if (a[j].x == x && a[j].y == y) {
			a[j].flag = 1;
		}
	}

	int cnt=0;
	for (int i = 1; i <= k; i++) {
		int x, y;
		scanf("%d %d", &x, &y);
		int ans=0;
		double max = -1;
		for (int j = 1; j <= n; j++) {
			if (getdist(x, y, a[j].x, a[j].y) > max) {
				max = getdist(x, y, a[j].x, a[j].y);
				ans = j;
			}
			
			}
		if (a[ans].flag) {
			cnt++;
		}
	}
	printf("%d", cnt);
	return 0;
}
2024/11/12 20:34
加载中...