문제
https://www.acmicpc.net/problem/2477
풀이
( A넓이 - B넓이 ) X (면적당 참외 수) 하면 간단한 문제
B의 길이와 넓이를 구하면 문제를 쉽게 풀 수 있음
B의 길이와 넓이를 구하는 방법은
문제에서 방향, 거리 를 입력 받게 되는데 입력 리스트들 중에서 한 방향이 하나의 인덱스를 건너뛰고 또 나오게 된다면
(위의 그림에서 빨강, 파랑 부분)
그 중간의 인덱스가 가리키는 값이 B의 가로, 세로 길이가 됨.
이때 인덱스가 리스트의 크기를 넘어설 수 있으므로 주의하여야 함.
#동1 서2 남3 북4
s = [] # 방향, 거리 저장 리스트
x = [] # 가로 길이들 리스트
y = [] # 세로 길이들 리스트
lownum = [] # B의 가로 세로 길이
k = int(input())
for i in range(6):
way,dist = map(int,input().split()) # 방향, 거리 입력
s.append([way,dist])
if s[i][0] == 3 or s[i][0] == 4: # 세로 저장
x.append(s[i][1])
if s[i][0] == 1 or s[i][0] == 2: # 가로 저장
y.append(s[i][1])
# B의 길이 추출
for i in range(6):
if s[i][0] == s[(i+2)%6][0]:
lownum.append(s[(i+1)%6][1])
print( ((max(x)*max(y)) - (lownum[0]*lownum[1])) * k )
'Problem Solving > CT-Python' 카테고리의 다른 글
[백준/DP] 16395: 파스칼의 삼각형 = [SWEA] 2005: 파스칼의 삼각형 - 파이썬 (0) | 2022.04.25 |
---|---|
[백준/브루트포스] 17614: 369 - 파이썬 (0) | 2022.04.25 |
[SWEA] 1206: [S/W 문제해결 기본] 1일차 - View - 파이썬 (0) | 2022.04.22 |
[백준/브루트포스] 2635: 수 이어가기 - 파이썬 (0) | 2022.04.22 |
[백준/구현] 2669: 직사각형 네개의 합집합의 면적 구하기 - 파이썬 (0) | 2022.04.22 |