결과적으로 우리가 구해야 하는 것은 두 원의 위치관계를 구하는것이다.
두 원의 위치관계..는 구글링하면 나보다 더 상세하게 알려주고있다.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int solve() {
int x1, x2, y1, y2, r1, r2, cnt;
scanf("%d %d %d %d %d %d", &x1, &y1, &r1, &x2, &y2, &r2);
float distance = sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
if(distance == 0 && r1 == r2)
cnt = -1;
else if(abs(r1-r2) < distance && distance < r1+r2)
cnt = 2;
else if(r1+r2 == distance || abs(r1-r2) == distance)
cnt = 1;
else
cnt = 0;
printf("%d\n", cnt);
}
int main() {
int test;
scanf("%d", &test);
for(int i=0;i<test;i++)
solve();
return 0;
}
계속 틀려서 개1빡쳤는데 알고보니까 distance를 int형으로 선언해서 틀린거였다 씨바.. 실수는 하지말자
'백준 (C99) > 기본수학 2단계 (完)' 카테고리의 다른 글
백준 3053 : 택시 기하학 (0) | 2022.02.02 |
---|---|
백준 4153 : 직각삼각형 (0) | 2022.02.02 |
백준 3009 : 네번째 점 (0) | 2022.02.01 |
백준 1085 : 직사각형에서 탈출 (0) | 2022.02.01 |
백준 9020 : 골드바흐의 추측 (0) | 2022.02.01 |
Comment