반응형

https://www.acmicpc.net/problem/1004

 

1004번: 어린 왕자

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주

www.acmicpc.net

 

출발점과 도착점 중에서 하나의 점만 각 원 안에 포함될 때 횟수를 증가시켜주었습니다.

포함 여부는 점 사이의 거리와 원의 반지름으로 구해주었습니다.

 

#include <cstdio>
int t, x1, y1, x2, y2, cx, cy, r, n, c;
int getVal(int xx, int yy) {
	return (cx - xx) * (cx - xx) + (cy - yy) * (cy - yy);
}
int main() {
	scanf("%d", &t);
	while (t--) {
		c = 0;
		scanf("%d %d %d %d %d", &x1, &y1, &x2, &y2, &n);
		while (n--) {
			scanf("%d %d %d", &cx, &cy, &r);
			c += (getVal(x1, y1) <= r * r) ^ (getVal(x2, y2) <= r * r);
		}
		printf("%d\n", c);
	}
}
반응형

'Algorithm' 카테고리의 다른 글

백준 1009 : 분산처리  (0) 2021.11.18
백준 13511 : 트리와 쿼리 2  (0) 2021.11.18
백준 1193 : 분수 찾기  (0) 2021.11.18
백준 1929 : 소수 구하기  (0) 2021.11.18
백준 1978 : 소수 찾기  (0) 2021.11.18

+ Recent posts