Informatica Online Judge

  현수와 승한 [2097 / 0831]

Time Limit(Test case) : 2000(ms)
Number of users who solved : 3   Total Tried : 3


The Champion of this Problem (C++) : gs16024 - 0ms / 2180byte
My Best Submission (C++) : N/A

[koistudy.net (unkonwn)]
Writer ID : [gs16024]

Background

알앤이 파트너인 현수와 승한이는 서로를 피해 다니고 싶다. 심지어 서로가 이동한 경로까지 겹치고 싶어 하지 않는다.

현수와 승한이는 세로줄 개수가 $M+1$개, 가로줄 개수가 $N+1$개인 격자에서 격자점 위에 존재한다. 현수와 승한이는 격자선을 따라서만 이동이 가능하다.

현수의 시작점 $H_1$, 도착점 $H_2$, 승한의 시작점 $S_1$, 도착점 $S_2$가 주어진다. 현수와 승한이는 격자 밖으로 나갈 수 없으며 둘의 이동경로는 시작점과 끝점을 포함한 어떤 점도 서로 겹치면 안 된다.

현수와 승한이가 이동하는 경로의 길이 합의 최소를 구하여라.

Input

첫째 줄에 $M$, $N$이 주어진다. ($2 ≤ M, N ≤ 100$)
두 번째 줄부터 다섯 번째 줄까지 순서대로 $H_1$,$H_2$,$S_1$,$S_2$가 주어진다.
점의 좌표는 각줄에 $X$, $Y$ 순으로 주어진다.
모든 좌표는 겹치지 않으며 항상 격자판 위에 있음을 보장한다.

Output

현수와 승한이가 이동하는 경로의 길이 합의 최솟값을 출력한다. 만약, 불가능하다면 "IMPOSSIBLE"을 출력한다.

IO Example

입력
6 6
4 0
4 5
2 1
5 4

출력
15



Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]