1102. Sleepwalker

单点时限: 2.0 sec

内存限制: 256 MB

There is a building with flat square roof of size $3^k \times 3^k$ and sides parallel to north-south and east-west directions. The roof is covered with square tiles of size $1$ (with a side of length $1$), but one of the tiles has been removed and there is a hole in the roof (big enough to fall in). The tiles form a rectangular mesh on the roof, so their positions may be specified with coordinates. The tile at the southwestern corner has coordinates $(1,1)$. The first coordinate increases while going eastwards, and the second while going northwards.

Sleepwalker wanders across the roof, in each step moving from the tile he is standing on to the adjacent one on the east(E), west(W), south(S), or north(N). The sleepwalker roof ramble starts from the southwestern corner tile. The description of the path is a word dk built of the letters N, S, E, W denoting respectively a step to the north, south, east and west. For $k = 1$ the word describing the path of sleepwalker is $d_1 =$ EENNWSWN.


(See the picture that shows how the sleepwalker would go across a roof of dimension $3 \times 3$ or $9 \times 9$.)

Generally, if $k \ge 1$, the description of a sleepwalker’s path on the roof of dimension $(3k+1) \times (3k+1)$ is a word:

$d_{k+1} = a(d_k)$ E $a(d_k)$ E $d_k$ N $d_k$ N $d_k$ W $c(d_k)$ S $b(d_k)$ W $b(d_k)$ N $d_k$

where functions $a$, $b$ and $c$ denote the following permutations of letters specifying directions:

a: E->N W->S N->E S->W
b: E->S W->N N->W S->E
c: E->W W->E N->S S->N

E.g. $a(\mathrm{SEN})=\mathrm{WNE}, b(\mathrm{SEN})=\mathrm{ESW}, c(\mathrm{SEN})=\mathrm{NWS}$.

We start observing sleepwalker at the time he stands on the tile of coordinates $(u_1, u_2)$. After how many steps will sleepwalker fall into the hole made after removing the tile of coordinates $(v_1, v_2)$?

Write a program which:

  • reads integer $k$ denoting the size of the roof ($3^k \times 3^k$), the position of the sleepwalker at the moment the observation starts and the position of the hole,
  • computes the number of steps that the sleepwalker will make before he falls into the hole,
  • writes the result.


In the first line is one integer $k$, $1 \le k \le 60$, denoting the size of the roof $(3^k \times 3^k)$ is written. In each of the following two lines are two natural numbers $x, y$ separated with a space are written, $1 \le x \le 3^k$, $1 \le y \le 3^k$. The numbers in the second line are the coordinates of the tile the sleepwalker is standing on. The numbers in the third line are the coordinates of the hole. You may assume, that with these data the sleepwalker will eventually fall into the hole after some number of steps.


The only line should contain the number of steps on the sleepwalker’s path to the hole.


3 2
7 2


There are sleepwalker’s paths on roofs of dimension $3\times3$ and $9\times9$ on the picture below. In the second case, the point at which the observation starts and the hole have been marked. The sleepwalker has exactly $20$ steps to the hole (from the moment the observation starts).

4 人解决,5 人已尝试。

4 份提交通过,共有 18 份提交。

7.6 EMB 奖励。

创建: 16 年,10 月前.

修改: 6 年,7 月前.

最后提交: 3 年,6 月前.

来源: POI 1999 II Stage