본문 바로가기

Development

BOJ 1002 (터렛)

#include <stdio.h>
#include <math.h>

int main() {
	int T, res;
	double x1, y1, r1, x2, y2, r2;
	scanf("%d", &T);
	for (int i = 0; i < T; i++) {
		scanf("%lf %lf %lf %lf %lf %lf", &x1,&y1,&r1,&x2,&y2,&r2);
		double d = sqrt(pow((x2 - x1), 2.0) + pow((y2 - y1), 2.0));
		double r = r1 + r2;
		double q = fabs(r1 - r2);

		if (d < r && d > q) res = 2;
		if (d == r || d == q) res = 1;
		if (d > r || d < q) res = 0;
		if (x1 == x2 && y1 == y2 && r1 != r2) res = 0;
		if (x1 == x2 && y1 == y2 && r1 == r2) res = -1;

		printf("%d\n", res);
	}

	return 0;
}
https://mathbang.net/101

위의 링크를 통해 두 원의 위치관계만 잘 알면 쉽게 해결할 수 다.

'Development' 카테고리의 다른 글

BOJ 1018 (체스판 다시 칠하기)  (0) 2021.01.14
BOJ 1914 (하노이 탑)  (0) 2021.01.14
BOJ 1316(그룹 단어 체커)  (0) 2021.01.07
BOJ 1577(단어공부)  (0) 2021.01.06
BOJ 10828(스택), 10799(쇠막대기)  (0) 2020.12.24