A Holiday of Miss Brute Force
면접 대비시간 제한2초메모리 제한512 MB
가구가 놓인 육각 격자에서 시간과 위치로 방향이 정해지는 규칙에 따라 이동할 때, 목적지까지 가기 위해 무시해야 하는 지시의 최소 횟수를 구하고 불가능하면 -1을 출력한다.
문제
全探索お姉さんはとても優秀な女性である。 お姉さんは格子状の道の経路の数え上げを数千程度なら簡単に数え上げてしまう。 あなたと全探索お姉さんは今、六角形のタイルが敷き詰められた部屋にいる。 お姉さんは初めて見る六角形にとても興奮している様子である。 六角形の並びを座標に表すことに不慣れなお姉さんは図1のような座標系で部屋を表した。

図1
あなたはこの座標系上である地点からある地点まで移動したい。 しかし、お姉さんは 1 分ごとに動きたい方向をあなたに指示する。 いつものお姉さんなら同じ座標の場所を通らないようにあなたに移動の指示を出すだろう。 しかし、この座標系に不慣れなお姉さんは|x×y×t|(x:x 座標、y:y座標、t:最初の指示からの経過時間[分])を 6 で割った余り に対応する方向(図で示す番号と対応)を指示するだけで、まったくのでたらめな方向にあなたを誘導する。

図2
お姉さんを傷つけたくないあなたは、お姉さんの指示をできるだけ守りつつ目的地までたどり着きたい。 あなたは許された行動は下の 7 つの行動である。
- 方向 0 へ 1 タイル移動
- 方向 1 へ 1 タイル移動
- 方向 2 へ 1 タイル移動
- 方向 3 へ 1 タイル移動
- 方向 4 へ 1 タイル移動
- 方向 5 へ 1 タイル移動
- その場に留まる
お姉さんが指示を出した直後にあなたはこれら行動のうちの必ず1つを行う。 部屋には家具があり家具が配置されているタイルの中に移動することはできない。 また、y 座標の絶対値が ly を超えたり x 座標の絶対値が lx を超えるような移動は許されていない。 しかし、お姉さんはそのような移動を指示することがある。 指示を無視するとはお姉さんが示した方向と異なる方向へ移動するか、 もしくは、その場に留まることである。 目的地にたどり着くために最小で何度指示を無視すれば良いかを出力せよ。 目的地にたどり着くことが不可能な場合は -1 を出力せよ。
입력
入力は以下の形式で与えられる。
sx sy gx gy
n
x1 y1
...
xi yi
...
xn yn
lx ly
ここで、
sx,syは出発地点の座標gx,gyは目的地の座標nは部屋に配置されている家具の数xi,yiは家具があるタイルの座標lx,lyは移動できるX,Yそれぞれの座標の絶対値の上限 である。
출력
出力は1つの整数を含む1行で出力せよ。 目的地にたどり着ける場合は、最小の指示を無視する回数を出力せよ。 目的地にたどり着くことが不可能な場合は-1を出力せよ。
제한
- 入力はすべて整数
-lx ≤ sx,gx ≤ lx-ly ≤ sy,gy ≤ ly(sx, sy) ≠ (gx, gy)(xi, yi) ≠ (sx, sy)(1≤i≤n)(xi, yi) ≠ (gx, gy)(1≤i≤n)(xi, yi) ≠ (xj, yj)(i ≠ j)0≤ n ≤ 1000-lx ≤ xi ≤ lx (1≤i≤n)-ly ≤ yi ≤ ly (1≤i≤n)0 < lx, ly ≤ 100