반응형
https://www.acmicpc.net/problem/15751
구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
a, b좌표를 저장할 일차원 배열 ab. x, y좌표를 저장할 일차원 배열 xy. a에서 b로 그냥 갔을 때 거리 dist1, teleportation을 이용했을 때 가야하는 거리 dist2를 선언하고 ab, xy에 입력해줍니다. 이 후 통일성을 위해 ab, xy를 각각 오름차순으로 정렬합니다.
📔 풀이과정
1. dist1은 teleportation을 이용하지 않았으므로 ab[1] - ab[0]이 이동할 거리입니다.
2. dist2는 이용하므로 가장 가까운 좌표까지 a -> x로 이동하고 y로 순간이동한 뒤 b로 가게 됩니다.
📔 정답출력
dist1, dist2 중 작은 값을 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int ab[2], xy[2], dist1, dist2;
int main(){
cin >> ab[0] >> ab[1] >> xy[0] >> xy[1];
sort(ab, ab + 2);
sort(xy, xy + 2);
dist1 = ab[1] - ab[0];
dist2 = abs(ab[0] - xy[0]) + abs(ab[1] - xy[1]);
cout << min(dist1, dist2);
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 7581 : Cuboids (0) | 2022.01.10 |
---|---|
(Python) - 백준(BOJ) 6976 : Divisibility by 11 (0) | 2022.01.07 |
(Python) - 백준(BOJ) 6974 : Long Division (0) | 2022.01.04 |
(C++) - 백준(BOJ) 6794 : What is n, Daddy? (0) | 2022.01.02 |
(C++) - 백준(BOJ) 23971 : ZOAC 4 (0) | 2022.01.01 |