풀이 (파이썬)
N = int(input())
arr = [list(map(int, input().split())) for _ in range(6)]
max_w = 0
max_h = 0
max_w_idx = 0
max_h_idx = 0
for i in range(6):
if arr[i][0] == 1 or arr[i][0] == 2:
if max_w < arr[i][1]:
max_w = arr[i][1]
max_w_idx = i
elif arr[i][0] == 3 or arr[i][0] == 4:
if max_h < arr[i][1]:
max_h = arr[i][1]
max_h_idx = i
min_r = abs(arr[(max_w_idx - 1) % 6][1] - arr[(max_w_idx + 1)%6][1])
min_c = abs(arr[(max_h_idx - 1) % 6][1] - arr[(max_h_idx + 1)%6][1])
area = (max_w * max_h) - (min_r * min_c)
result = area * N
print(result)
풀이 (자바)
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(bf.readLine());
int[][] arr = new int[6][2];
for (int i = 0; i < 6; i++) {
StringTokenizer st = new StringTokenizer(bf.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
int max_w = 0;
int max_h = 0;
int max_w_idx = 0;
int max_h_idx = 0;
for (int i = 0; i < 6; i++) {
if (arr[i][0] == 1 || arr[i][0] == 2) {
if (max_w < arr[i][1]) {
max_w = arr[i][1];
max_w_idx = i;
}
} else if (arr[i][0] == 3 || arr[i][0] == 4) {
if (max_h < arr[i][1]) {
max_h = arr[i][1];
max_h_idx = i;
}
}
}
int min_r = Math.abs(arr[Math.floorMod((max_w_idx - 1), 6)][1] - arr[Math.floorMod((max_w_idx + 1), 6)][1]);
int min_c = Math.abs(arr[Math.floorMod((max_h_idx - 1), 6)][1] - arr[Math.floorMod((max_h_idx + 1), 6)][1]);
int area = (max_w * max_h) - (min_r * min_c);
int rst = area * N;
bw.write(String.valueOf(rst));
bw.close();
}
}
'백준' 카테고리의 다른 글
백준 9012 괄호 (자바) (0) | 2022.12.12 |
---|---|
백준 6603 로또 (파이썬, 자바) (0) | 2022.12.12 |
백준 17144 미세먼지 안녕! (파이썬) (0) | 2022.12.08 |
백준 10773 제로 (파이썬, 자바) (0) | 2022.12.06 |
백준 2232 지뢰 (파이썬) (0) | 2022.12.05 |