https://www.acmicpc.net/problem/1459
1459번: 걷기
세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 (
www.acmicpc.net
end_i, end_j, w, s = map(int, input().split()) # w직선 s대각선
res = 0
if (w*2) < s: # 대각선으로 갈 필요가 없는 경우
res = (end_i+end_j) * w
elif w > s: # 대각선으로도 가야되는데 최대한 대각선으로 많이 가야되는 경우
if abs(end_i - end_j) % 2 == 0: # 두 좌표의 차이가 짝수
res = max(end_i,end_j) * s
else: # 두 좌표의 차이가 홀수 -> 직선 한번 가줘야함
res = (max(end_i,end_j) -1) * s + w
else: # 대각선으로도 가야되는데 최대한 직선으로 많이 가야되는 경우
res = min(end_i,end_j) * s + abs(end_i-end_j) * w
print(res)
'백준' 카테고리의 다른 글
백준 1781. 컵라면 (0) | 2023.10.23 |
---|---|
백준 2212. 센서 (0) | 2023.10.20 |
백준 20188. 등산마니아 (0) | 2023.10.18 |
백준 1459. 걷기 (0) | 2023.10.18 |
백준 2195. 문자열 복사 (0) | 2023.10.10 |