Baekjoon/C++
[백준 1002번] 터렛
Yo-mi
2023. 7. 21. 01:18
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n, x1, x2, y1, y2, r1, r2, result;
bool in = true;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
if (x1 == x2 && y1 == y2 && r1 == r2) {
result = -1;
}
else if (sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) > r1 + r2)
result = 0;
else if (sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) == r1 + r2)
result = 1;
else if (sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) == abs(r1 - r2))
result = 1;
else if (sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) < abs(r1 - r2))
result = 0;
else
result = 2;
cout << result << endl;
in = true;
}
return 0;
}
원을 두 개 그려서 '어떻게', '어디서' 만나는지의 여부를 따져보면 된다.
문제:https://www.acmicpc.net/problem/1002
1002번: 터렛
각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다.
www.acmicpc.net