코드와이
[BAEKJOON] 2564경비원 본문
문제링크
2564번: 경비원
첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄
www.acmicpc.net
package acmicpc.Silver1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class 경비원 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int w = Integer.parseInt(st.nextToken());
int h = Integer.parseInt(st.nextToken());
int d = 0;
int x = 0;
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n+1];
int l = (h + w) * 2;
for(int i = 0 ; i <= n; i++) {
st = new StringTokenizer(br.readLine());
d = Integer.parseInt(st.nextToken());
x = Integer.parseInt(st.nextToken());
if(d == 1) arr[i] = x;
else if(d == 2) arr[i] = (w + h + ( w - x ));
else if(d == 3) arr[i] = (2*w + h+(h - x));
else arr[i] = w + x;
}
int ans = 0;
for(int i = 0 ; i < n ; i++) {
int tmp = Math.abs(arr[n] - arr[i]);
ans += Math.min(tmp, l - tmp);
}
System.out.println(ans);
}
}
'acmicpc' 카테고리의 다른 글
[BAEKJOON] 1260. DFS와 BFS (0) | 2021.03.01 |
---|---|
[BAEKJOON] 1929. 소수 구하기 (0) | 2021.03.01 |
[BAEKJOON] 10158. 개미 (0) | 2021.02.26 |
[BAEKJOON] 10799. 쇠막대기 (0) | 2021.02.26 |
[BAEKJOON] 2669. 직사각형 네개의 합집합의 면적 구하기 (0) | 2021.02.26 |