#문제
#작성 코드
#include <iostream>
#include <stdio.h>
#include <cmath>
int main()
{
int T;
int x1, y1, r1, x2, y2, r2;
scanf("%d", &T);
while(T--){
scanf("%d %d %d %d %d %d", &x1, &y1, &r1, &x2, &y2, &r2);
double D = ((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
// 두 원의 중심이 동일할 때
if(D == 0){
if( r1 == r2 ){ // 두 원이 일치
printf("-1\n");
}
else{ // 반지름이 다른 동심원
printf("0\n");
}
}
// 두 원의 중심이 다를 때
else{
if( (r1+r2)*(r1+r2) == D || (r1-r2)*(r1-r2) == D){ // 외접, 내접
printf("1\n");
}
else if( (r1-r2)*(r1-r2) < D && (r1+r2)*(r1+r2) > D){
printf("2\n");
}
else{
printf("0\n");
}
}
}
return 0;
}
##
두 원의 위치관계 주의!
'BOJ' 카테고리의 다른 글
BOJ 10870번 :: 피보나치 수 5 (0) | 2019.11.20 |
---|---|
BOJ 10872번 :: 팩토리얼 (0) | 2019.11.20 |
BOJ 3053번 :: 택시 기하학 (0) | 2019.11.20 |
BOJ 4153번 :: 직각삼각형 (0) | 2019.11.20 |
BOJ 3009번 :: 네번째 점 (0) | 2019.11.19 |