시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
육각형 타일로 이루어진 집 안에서 같은 위치를 원숭이와 멍멍이가 서로 다른 방식으로 인식한다.
멍멍이는 위치를 좌표 (x, y)로 나타낸다. 이 좌표는 위쪽으로 한 줄 올라갈 때마다 y가 1 증가하는 엇갈린 행 좌표이며, 이를 축 좌표 (q, r)로 바꾸면 다음과 같다.
q = x - ceil(y / 2), r = y
원숭이는 가운데 위치 (0, 0)에 번호 1을 붙인다. 그다음 축 좌표 거리
k = max(|q|, |r|, |q + r|)
가 같은 위치들을 k = 1, 2, 3, ... 순서로 한 고리씩 번호 매긴다. k >= 1인 고리에서 첫 번호는 축 좌표 (0, k)에 붙고, 그 값은 3k(k - 1) + 2이다. 이후 같은 고리 위에서 방향 (-1, 0), (0, -1), (1, -1), (1, 0), (0, 1), (-1, 1) 순서로 이동하며 연속된 번호를 붙인다. 마지막 방향에서 다시 (0, k)로 돌아가는 위치는 이미 번호가 붙어 있으므로 다시 세지 않는다.
멍멍이가 알려 준 금고의 좌표가 주어질 때, 원숭이가 인식하는 번호를 구하라.
첫째 줄에 금고의 좌표를 나타내는 두 정수 x와 y가 주어진다.
각 정수는 0 이상 1,000,000 이하이다.
첫째 줄에 같은 위치를 원숭이의 번호 체계로 나타낸 값을 출력한다.