Friday, August 21, 2015

UVa 10589 - Area

// UVa 10589 - Area

#include <iostream>
#include <stdio.h>
using namespace std;

double dist(double x1, double y1, double x2, double y2) {
	return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}

int main() {
	int n, a;
	cin >> n >> a;
	while (n && a) {
		int aa = a * a;
		int m = 0;
		for (int i = 0; i < n; i++) {
			double x, y;
			cin >> x >> y;
			if (dist(x, y, 0, 0) <= aa && dist(x, y, a, a) <= aa && dist(x, y, a, 0) <= aa && dist(x, y, 0, a) <= aa) {
				m++;
			}
		}
		printf("%.5f\n", (1.0 * m * aa) / n);
		cin >> n >> a;
	}
	return 0;
}

No comments:

Post a Comment