# 문제

# 입력 및 출력


# 풀이
출발점과 도착점이 같은 원 안에 있다면 해당 행성의 진입/이탈이 필요 없기 때문에 그냥 넘어가고
출발점과 도착점 중 한 곳만 어떤 원 안에 존재한다면 cnt 변수 증가
어떤 원 안에 출발점과 도착점 모두 존재하지 않는다면 그냥 넘어감
#include <iostream>
using namespace std;
int main() {
int T, x1, x2, y1, y2, n, cx, cy, r;
cin >> T;
while (T--) {
int cnt = 0;
cin >> x1 >> y1 >> x2 >> y2 >> n;
while (n--) {
cin >> cx >> cy >> r;
int de = (x1 - cx)*(x1 - cx) + (y1 - cy)*(y1 - cy); // 어떤 행성의 중점과 출발점과의 거리
int ar = (x2 - cx)*(x2 - cx) + (y2 - cy)*(y2 - cy); // 어떤 행성의 중점과 도착점과의 거리
if (de < r*r && ar < r*r) continue; // 출발점과 도착점이 모두 한 원 안에 존재하는 경우
if (de < r*r && ar > r*r) cnt++; // 특정 한 점만 어떤 원에 존재하는 경우
else if (de > r*r && ar < r*r) cnt++; // "
}
cout << cnt << "\n";
}
}

'Algorithm > 📖Baekjoon' 카테고리의 다른 글
| #11052 카드 구매하기 (0) | 2022.06.26 |
|---|---|
| #11403 경로 찾기 (0) | 2022.06.25 |
| #1051 숫자 정사각형 (0) | 2022.06.23 |
| #1074 Z (0) | 2022.06.22 |
| #1080 행렬 (0) | 2022.06.21 |
댓글