#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 |