문제
https://www.acmicpc.net/problem/2381
풀이
- 두 점 사이의 최대 맨하탄 거리를 구하는 문제이다.
- 맨하탄 거리는 유클리드 거리에 비해 식이 간단하다(?)
- 따라서 절대값에 따라 식을 정리할 수 있다.
- 두 점 (x1,y1),(x2,y2)의 맨하탄 거리는 |x1-x2| + |y1-y2|이다.
- x1 - x2 + y1 - y2 = (x1+y1) - (x2+y2)
- x1 - x2 - y1 + y2 = (x1-y1) - (x2-y2)
- -x1 + x2 + y1 - y2 = -(x1-y1) + (x2-y2)
- -x1 + x2 - y1 + y2 = -(x1+y1) + (x2+y2)
- 위 네개의 케이스의 최댓값을 구하기 위해 x,y의 합과 차가 필요하고, 그것을 기준으로 정렬하면 된다.
- 결론적으로, x+y에 대해 정렬해서 첫번째와 마지막 점에 대해 값을 계산하고, x-y에 대해 정렬해서 첫번째와 마지막 점에 대해 값을 계산한다.
'알고리즘문제풀이' 카테고리의 다른 글
백준 31741 구간 덮기 (0) | 2024.04.24 |
---|---|
백준 20500 Ezreal 여눈부터 가네 ㅈㅈ (0) | 2024.04.03 |
31478 포니 양은 놀고 싶어 (2) | 2024.03.22 |
백준 1419 등차수열의 합 (0) | 2024.03.06 |
백준 31443 준영이 (0) | 2024.03.06 |