Development
BOJ 1002 (터렛)
Leehahoon
2021. 1. 10. 19:34
#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
위의 링크를 통해 두 원의 위치관계만 잘 알면 쉽게 해결할 수 다.