Skip to content

Commit aca2134

Browse files
committed
[Create] BOJ_2564 경비원
1 parent 062eba4 commit aca2134

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

Security.java

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// 백준_2564
2+
// 2021.04.11
3+
// 구현, case work
4+
// brute force
5+
6+
import java.io.BufferedReader;
7+
import java.io.IOException;
8+
import java.io.InputStreamReader;
9+
import java.util.StringTokenizer;
10+
11+
public class Security {
12+
public static void main(String[] args) throws IOException {
13+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
14+
StringTokenizer st = new StringTokenizer(br.readLine());
15+
int square[] = {Integer.valueOf(st.nextToken()), Integer.valueOf(st.nextToken())};
16+
st = new StringTokenizer(br.readLine());
17+
int N = Integer.valueOf(st.nextToken());
18+
int[][] shops = new int[N][2];
19+
int[] home = new int[2];
20+
int answer = 0;
21+
22+
for (int i = 0; i < shops.length; i++) {
23+
st = new StringTokenizer(br.readLine());
24+
shops[i][0] = Integer.valueOf(st.nextToken());
25+
shops[i][1] = Integer.valueOf(st.nextToken());
26+
}
27+
st = new StringTokenizer(br.readLine());
28+
home[0] = Integer.valueOf(st.nextToken());
29+
home[1] = Integer.valueOf(st.nextToken());
30+
31+
if (home[0] / 2 <= 1) {
32+
for (int i = 0; i < shops.length; i++) {
33+
if(home[0] == shops[i][0])
34+
answer += Math.abs(home[1] - shops[i][1]);
35+
if (home[0] + shops[i][0] == 3) {
36+
answer += square[1];
37+
answer += Math.min(shops[i][1] + home[1], square[0] * 2 - (shops[i][1] + home[1]));
38+
} else {
39+
if (shops[i][0] == 3) {
40+
if (home[0] == 1)
41+
answer += shops[i][1];
42+
else if (home[0] == 2)
43+
answer += (square[1] - shops[i][1]);
44+
answer += home[1];
45+
} else if (shops[i][0] == 4) {
46+
if (home[0] == 1)
47+
answer += shops[i][1];
48+
else if (home[0] == 2)
49+
answer += square[1] - shops[i][1];
50+
answer += (square[0] - home[1]);
51+
}
52+
}
53+
}
54+
} else {
55+
for (int i = 0; i < shops.length; i++) {
56+
if(home[0] == shops[i][0])
57+
answer += Math.abs(home[1] - shops[i][1]);
58+
if (home[0] + shops[i][0] == 7 ) {
59+
answer += square[0];
60+
answer += Math.min(shops[i][1] + home[1], square[1] * 2 - (shops[i][1] + home[1]));
61+
} else {
62+
if (shops[i][0] == 1) {
63+
if (home[0] == 3)
64+
answer += shops[i][1];
65+
else if (home[0] == 4)
66+
answer += (square[0] - shops[i][1]);
67+
answer += home[1];
68+
} else if (shops[i][0] == 2) {
69+
if (home[0] == 3)
70+
answer += shops[i][1];
71+
else if (home[0] == 4)
72+
answer += square[1] - shops[i][1];
73+
answer += (square[1] - home[1]);
74+
}
75+
}
76+
}
77+
}
78+
79+
System.out.println(answer);
80+
}
81+
}

0 commit comments

Comments
 (0)