1633.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 35 行

CPP
35
字号
/*  This Code is Submitted by wywcgs for Problem 1633 on 2006-06-24 at 15:50:29 */ 
#include <cstdio>
#include <algorithm>
using namespace std;

const int PN = 256;
const double eps = 1e-4;

int main()
{
	int n, cx, cy, x[PN], y[PN];
	int i, j;
	double cr;
	
	while(scanf("%d %d %lf", &cx, &cy, &cr) != EOF && cr > eps) {
		int r = (int)(cr+eps), tn = 0, best = 0;
		scanf("%d", &n);
		for(i = 0; i < n; i++) {
			scanf("%d %d", &x[tn], &y[tn]);
			if((x[tn]-cx)*(x[tn]-cx)+(y[tn]-cy)*(y[tn]-cy) <= r*r) tn++;
		}
		for(i = 0; i < tn; i++) {
			int a = -(cy-y[i]), b = cx-x[i], c = -(a*cx+b*cy), l = 0, r = 0;
			for(j = 0; j < tn; j++) {
				if(a*x[j]+b*y[j]+c <= 0) l++;
				if(a*x[j]+b*y[j]+c >= 0) r++;
			}
			best = max(best, max(l, r));
		}
		printf("%d\n", best);
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?