BOJ/미해결

BOJ 2477 - 참외밭

yanJuicy 2024. 8. 19. 12:48
반응형

문제

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

 

 

풀이

육각형의 빈 공간을 채워서 큰 직사각형의 넓이를 구한 후, 빈 공간의 직사각형의 넓이를 구해서 빼준다

 

입력에서 방향이 1번만 나오는 가로와 세로 길이가 가장 긴 길이다

이를 이용해서 빈 공간을 채웠을 때 가장 큰 직사각형의 넓이를 구한다

 

빈 공간의 직사각형 넓이는 다음을 이용해 구한다

가장 긴 가로 길이 인덱스에서 +3을 하면 빈 공간의 세로 길이 인덱스가 나온다

가장 긴 세로 길이 인덱스에서 +3을 하면 빈 공간의 가로 길이가 나온다

이를 이용해서 빈 공간에 직사각형의 넓이를 구할 수 있다

 

 

코드

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
directions = []
lengths = []
max_area = 1
min_area = 1
 
= int(input())
 
for _ in range(6):
    d, l = map(int, input(). split())
    directions.append(d)
    lengths.append(l)
 
 
for d in [1234]:
    if directions.count(d) == 1:
        max_area_idx = directions.index(d)
        min_area_idx = max_area_idx + 3
        if min_area_idx >= 6:
            min_area_idx -= 6
        
        max_area *= lengths[max_area_idx]
        min_area *= lengths[min_area_idx]
 
 
print((max_area - min_area) * k)
cs

 

 

반응형

'BOJ > 미해결' 카테고리의 다른 글

BOJ 1436 - 영화감독 숌  (0) 2024.08.23
BOJ 2630 - 색종이 만들기  (0) 2024.08.20
BOJ 1489 - 대결  (0) 2024.08.17
BOJ 1071 - 소트  (0) 2024.08.16
BOJ 11729 - 하노이 탑 이동 순서  (0) 2024.08.15