반응형
풀이 )
각 행성계에 대해서 출발점과 도착점이 행성계 내부에 있는지 외부에 있는지 확인한다.
출발점, 도착점 각각에 대해서 모두 행성계 내부에 있거나 외부에 있는 경우 진입이나 이탈을 할 필요가 없으므로
- 출발점 - 내부, 도착점 - 외부
- 출발점 - 외부, 도착점 - 내부
두 경우에만 집입/이탈의 횟수를 늘려간다.
#include <iostream>
using namespace std;
int main(void){
int t;
cin >> t;
while(t--){
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
int n;
cin >> n;
int ans = 0;
while(n--){
int x, y, r;
cin >> x >> y >> r;
bool in1, in2;
in1 = (x1-x)*(x1-x)+(y1-y)*(y1-y) < r*r;
in2 = (x2-x)*(x2-x)+(y2-y)*(y2-y) < r*r;
if(in1 != in2)
ans++;
}
cout << ans << endl;
}
}
반응형
'문제풀이 > 백준' 카테고리의 다른 글
[C++] 백준 - 5430 : AC (0) | 2020.11.30 |
---|---|
[C++] 백준 - 17300 : 패턴 (0) | 2020.11.29 |
[C++] 백준 - 1002 : 터렛 (0) | 2020.11.29 |
[C++] 백준 - 14891 : 톱니바퀴 (0) | 2020.11.27 |
[C++] 백준 - 14888 : 연산자 끼워넣기 (0) | 2020.11.25 |