Notice
Recent Posts
Recent Comments
Link
반응형
공부혜옹
백준 1004 어린 왕자 본문
어린왕자가 진입/이탈해야하는 경우는 출발점과 도착점 사이에 꼭 통과해야하는 원이 존재하는 경우 이다. 이때, 출발점과 도착점이 같은 원에 있다면? 그원안에 행성이 얼마나 많은지와 상관없이 ( 피해서 갈 수 있으니 ) 진입/이탈해야할 경우가 없다. 따라서 출발점과 도착점사이에 곡 통과해야하는 원이 있는지를 판별하기 위해 두 점과 원의 중심간의 거리를 비교한다. 거리가 원의 반지름보다 크다면 해당 점이 원의 외부에 위치하는 것으로 꼭 원을 통과해야한다.
#include <iostream>
#include <algorithm>
using namespace std;
int t, n;
int x1, x2, y1, y2;
int x, y, r;
int total;
int cnt;
int main(){
cin >> t;
for(int i = 0; i< t; i++) {
total = 0;
cin >> x1 >> y1 >> x2 >> y2 >> n;
for(int j = 0; j< n; j++){
cnt =0;
cin >> x >> y >> r;
if((x-x1)*(x-x1)+(y-y1)*(y-y1) < r*r){
cnt++;
}
if((x-x2)*(x-x2)+(y-y2)*(y-y2) < r*r){
cnt++;
}
if(cnt == 1){
total++;
}
}
cout << total << endl;
}
return 0;
}
반응형
'공부합시다 > Algorithm' 카테고리의 다른 글
백준 5904 moo 게임 (0) | 2021.09.28 |
---|---|
백준 1485 정사각형 (0) | 2021.09.14 |
백준 15686 치킨배달 (0) | 2021.08.31 |
백준 1339 단어수학 (0) | 2021.08.31 |
백준 1915 가장 큰 정사각형 (0) | 2021.08.17 |
Comments