eolymp
bolt
Try our new interface for solving problems
Məsələlər

Traveling Cube

Traveling Cube

On a small planet named Bandai, a landing party of the starship Tadamigawa discovered colorful cubes traveling on flat areas of the planet surface, which the landing party named beds. A cube appears at a certain position on a bed, travels on the bed for a while, and then disappears. After a longtime observation, a science officer Lt. Alyssa Ogawa of Tadamigawa found the rule how a cube travels on a bed. A bed is a rectangular area tiled with squares of the same size. \begin{itemize} \item One of the squares is colored red, \item one colored green, \item one colored blue, \item one colored cyan, \item one colored magenta, \item one colored yellow, \item one or more colored white, and \item all others, if any, colored black. \end{itemize} Initially, a cube appears on one of the white squares. The cube’s faces are colored as follows. The cube can roll around a side of the current square at a step and thus rolls on to an adjacent square. When the cube rolls on to a chromatically colored (red, green, blue, cyan, magenta or yellow) square, the top face of the cube after the roll should be colored the same. When the cube rolls on to a white square, there is no such restriction. The cube should never roll on to a black square. Throughout the travel, the cube can visit each of the chromatically colored squares only once, and any of the white squares arbitrarily many times. As already mentioned, the cube can never visit any of the black squares. On visit to the final chromatically colored square, the cube disappears. Somehow the order of visits to the chromatically colored squares is known to us before the travel starts. Your mission is to find the least number of steps for the cube to visit all the chromatically colored squares in the given order. \InputFile The input is a sequence of datasets. A dataset is formatted as follows: \textbf{w d} \textbf{c_11...c_w1} \textbf{...} \textbf{c_1d...c_wd} \textbf{v_1v_2v_3v_4v_5v_6} The first line is a pair of positive integers \textbf{w} and \textbf{d} separated by a space. The next \textbf{d} lines are w-character-long strings \textbf{c_11...c_w1}, ..., \textbf{c_1d...c_wd} with no spaces. Each character \textbf{c_ij} is one of the letters \textbf{r}, \textbf{g}, \textbf{b}, \textbf{c}, \textbf{m}, \textbf{y}, \textbf{w} and \textbf{k}, which stands for red, green, blue, cyan, magenta, yellow, white and black respectively, or a sign \textbf{#}. Each of \textbf{r}, \textbf{g}, \textbf{b}, \textbf{c}, \textbf{m}, \textbf{y}and \textbf{#} occurs once and only once in a dataset. The last line is a six-character-long string \textbf{v_1v_2v_3v_4v_5v_6} which is a permutation of "\textbf{rgbcmy}". The integers \textbf{w} and \textbf{d} denote the width (the length from the east end to the west end) and the depth (the length from the north end to the south end) of a bed. The unit is the length of a side of a square. You can assume that neither \textbf{w} nor \textbf{d} is greater than \textbf{30}. Each character \textbf{c_ij} shows the color of a square in the bed. The characters \textbf{c_11}, \textbf{c_w1}, \textbf{c_1d} and \textbf{c_wd} correspond to the north-west corner, the north-east corner, the south-west corner and the southeast corner of the bed respectively. If \textbf{c_ij} is a letter, it indicates the color of the corresponding square. If \textbf{c_ij} is a \textbf{#}, the corresponding square is colored white and is the initial position of the cube. The string \textbf{v_1v_2v_3v_4v_5v_6} shows the order of colors of squares to visit. The cube should visit the squares colored \textbf{v_1}, \textbf{v_2}, \textbf{v_3}, \textbf{v_4}, \textbf{v_5} and \textbf{v_6} in this order. The end of the input is indicated by a line containing two zeros separated by a space. \OutputFile For each input dataset, output the least number of steps if there is a solution, or "\textbf{unreachable}" if there is no solution. In either case, print it in one line for each input dataset.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
10 5 
kkkkkwwwww 
w#wwwrwwww 
wwwwbgwwww 
kwwmcwwwkk 
kkwywwwkkk 
rgbcmy 
10 5 
kkkkkkkkkk 
k#kkkkkkkk 
kwkkkkkwwk 
kcmyrgbwwk 
kwwwwwwwwk 
cmyrgb 
10 5 
kkkkkkkkkk 
k#kkkkkkkk 
kwkkkkkwkk 
kcmyrgbwwk 
kwwwwwwwwk 
cmyrgb 
0 0
Çıxış verilənləri #1
9 
49 
unreachable
Mənbə Asia Regional Contest, Japan, AIZU, October 25-27, 2008