Codeforces Round #100 / 140A (简单几何)

http://codeforces.com/contest/140/problem/A


过大圆圆心作小圆切线即可发现规律,详见代码。

注意判相等一定要用fabs!!!


完整代码:

/*30ms,0KB*/

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n, R, r;
	double a;
	scanf("%d%d%d", &n, &R, &r);
	if (r > R || 2 * r > R && n > 1) puts("NO");
	else
	{
		if (n == 1) puts(r <= R ? "YES" : "NO");
		else
		{
			a = asin((double)r / (R - r)) * n;
			if (a < M_PI || fabs(a - M_PI) < 1e-8) puts("YES");
			else puts("NO");
		}
	}
	return 0;
}

你可能感兴趣的:(C++,ACM,codeforces)