#include <iostream>
#include <math.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
float x1, y1, r1, x2, y2, r2;
cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
if (x1 == x2 && y1 == y2 && r1 == r2) {
cout << "-1\n";
continue;
}
float tempX = x1 - x2;
float tempY = y1 - y2;
float distance = sqrt(tempX * tempX + tempY * tempY);
if (distance == r1 + r2 || distance == abs(r2 - r1))
cout << "1\n";
else if (distance > r1 + r2 || distance < abs(r2 - r1))
cout << "0\n";
else
cout << "2\n";
}
return 0;
}
두 개의 원을 그려보면서 두 원의 반지름과 두 원의 거리, 두 원의 관계(내접 등)를 생각해야했던 수학문제
int로 변수를 선언하면 틀린 값이 나오므로 float로 선언해야한다.
'알고리즘 공부' 카테고리의 다른 글
백준 2630번 색종이 만들기 C++ (0) | 2024.11.25 |
---|---|
백준 1238번 파티 C++ (0) | 2024.11.24 |
백준 12904번 A와 B C++ (0) | 2024.11.15 |
백준 7569번 토마토 C++ (1) | 2024.11.13 |
백준 1904번 01타일 C++ (0) | 2024.10.31 |