아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

지구 직육면체설

시간 제한1초메모리 제한128 MB

요약
직육면체와 표면 위의 한 점이 주어질 때, 한 꼭짓점에서 그 점까지 표면을 따라 가는 최단 경로 길이의 제곱을 정수로 출력한다.
난이도

보통10점 중 7점

유형
기하, 수학, 완전 탐색, 최단 경로
정답자
아직 제출이 없습니다

문제

재현이는 우리가 사는 지구가 직육면체 모양이어야 한다고 믿게 되었다. 그래서 그는 지구를 각 변의 길이가 ℓx×ℓy×ℓz\ell_x \times \ell_y \times \ell_z 인 직육면체로 개조하는 대공사를 벌였다. 이제 지구 표면 위의 모든 위치는 3차원 데카르트 좌표로 나타낼 수 있으며, 직육면체는 0≤x≤ℓx0 \le x \le \ell_x, 0≤y≤ℓy0 \le y \le \ell_y, 0≤z≤ℓz0 \le z \le \ell_z 범위를 차지한다. 재현이는 자신의 집을 꼭짓점 (0,0,0)(0, 0, 0) 에 지었다.

한편 승원이의 집은 이 공사로 인해 좌표 (x,y,z)(x, y, z) 로 강제로 옮겨졌다. 승원이의 위치는 항상 직육면체의 여섯 면 중 하나 위에 있다.

재현이는 승원이를 찾아가려고 한다. 두 집은 모두 지구 표면 위에 있으므로, 재현이는 직육면체의 표면을 따라서만 이동할 수 있으며 직육면체의 내부를 통과할 수는 없다. (0,0,0)(0, 0, 0) 에서 (x,y,z)(x, y, z) 까지 표면을 따라가는 최단 경로의 길이를 구하자.

예를 들어 ℓx=1\ell_x = 1, ℓy=2\ell_y = 2, ℓz=1\ell_z = 1 이고 승원이가 (1,2,1)(1, 2, 1) 에 있다면, 최단 경로는 (0,0,0)(0, 0, 0) 에서 면 위의 점 (1,1,0)(1, 1, 0) 을 지나 (1,2,1)(1, 2, 1) 로 가는 경로이며, 그 길이는 8\sqrt{8} 이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 여섯 개의 정수 ℓx\ell_x, ℓy\ell_y, ℓz\ell_z, xx, yy, zz 로 주어진다 (1≤ℓx,ℓy,ℓz≤10001 \le \ell_x, \ell_y, \ell_z \le 1000). 좌표 (x,y,z)(x, y, z) 는 항상 직육면체의 여섯 면 중 하나 위에 있음이 보장된다. 입력의 마지막 줄은 ℓx=ℓy=ℓz=x=y=z=0\ell_x = \ell_y = \ell_z = x = y = z = 0 이며, 이 줄에 대해서는 답을 출력하지 않는다.

출력

각 테스트 케이스마다, 표면을 따라가는 최단 경로 길이의 제곱을 한 줄에 정수로 출력한다. (최단 경로 길이의 제곱은 항상 정수이므로, 근삿값이 아니라 정확한 정숫값을 출력해야 한다.)

예제3

  1. 예제 1

    입력
    1 1 2 1 1 2
    1 1 1 1 1 1
    0 0 0 0 0 0
    
    예상 출력
    8
    5
    
  2. 예제 2

    입력
    5 3 4 5 3 0
    0 0 0 0 0 0
    
    예상 출력
    34
    
  3. 예제 3

    입력
    3 1 1 3 1 1
    2 4 4 2 4 4
    0 0 0 0 0 0
    
    예상 출력
    13
    52