728x90
https://www.acmicpc.net/problem/1358
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static double getDistance(int x1, int y1, int x2, int y2) {
return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int w = Integer.parseInt(st.nextToken()),
h = Integer.parseInt(st.nextToken()),
x_start = Integer.parseInt(st.nextToken()),
y_start = Integer.parseInt(st.nextToken()),
p = Integer.parseInt(st.nextToken());
int x_end = x_start + w,
y_end = y_start + h;
int r = h/2, y_half = y_start + r;
int x, y, cnt = 0, i;
for (i = 0; i < p; ++i) {
st = new StringTokenizer(br.readLine());
x = Integer.parseInt(st.nextToken());
y = Integer.parseInt(st.nextToken());
if ((x_start <= x && x <= x_end && y_start <= y && y <= y_end) ||
getDistance(x, y, x_start, y_half) <= r ||
getDistance(x, y, x_end, y_half) <= r)
cnt++;
}
br.close();
System.out.println(cnt);
}
}
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 백준 온라인 저지 ( BOJ )' 카테고리의 다른 글
[백준(Baekjoon)][자바(java)] 24480 : 알고리즘 수업 - 깊이 우선 탐색 2 / 그래프와 순회 (0) | 2022.05.24 |
---|---|
[백준(Baekjoon)][자바(java)] 24479 : 알고리즘 수업 - 깊이 우선 탐색 1 / 그래프와 순회 (0) | 2022.05.24 |
[백준(Baekjoon)][자바(java)] 1004 : 어린 왕자 / 기하 1 (0) | 2022.05.15 |
[백준(Baekjoon)][자바(java)] 1002 : 터렛 / 기하 1 (0) | 2022.05.14 |
[백준(Baekjoon)][자바(java)] 3053 : 택시 기하학 / 기하 1 (0) | 2022.05.14 |