FUZ2213 圆的切线问题-CSDN博客

20 阅读1分钟

acm.fzu.edu.cn/problem.php…

define _CRT_SECURE_NO_WARNINGS
#include<cstdio>
#include<cmath>
int main()
{
	int T;
	scanf("%d", &T);
	while (T--)	{
		double x1, y1, r1, x2, y2, r2;
		scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &r1, &x2, &y2, &r2);
		float len = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));
		if (len == 0 && r1 == r2)
			puts("-1");
		else if (len>(r1 + r2))
			puts("4");
		else if (len == (r1 + r2))
			puts("3");
		else if (len == fabs(r2 - r1))
			puts("1");
		else if (len<fabs(r2 - r1))
			puts("0");
		else
			puts("2");
	}
	
	return 0;
}


\