Rolling Blockã¯ç›´æ–¹ä½“ã®é‡‘属体を回転ã•ã›ã¤ã¤ç§»å‹•ã•ã›ã€ã‚´ãƒ¼ãƒ«ã®ç©´ã«è½ã¨ã™ã‚²ãƒ¼ãƒ ã§ã‚る。
ã“ã®ã‚²ãƒ¼ãƒ ã®ã‚¯ãƒªã‚¢æ¡ä»¶ã¯é‡‘属体をゴールã«è½ã¨ã™ã“ã¨ã§ã‚る。
ブãƒãƒƒã‚¯ã«ã¤ã„ã¦
下ã®å›³ã®(1)よりã€ãƒ–ãƒãƒƒã‚¯ã¯1×1×Lã®ç›´æ–¹ä½“ã§ã‚る。
ブãƒãƒƒã‚¯ã¯æ±è¥¿å—北ã®ã©ã‚Œã‹ã®æ–¹å‘ã«å›žè»¢ã—ãªãŒã‚‰ç§»å‹•ã™ã‚‹ã“ã¨ãŒã§ãる。
ã—ã‹ã—ã€ãƒ–ãƒãƒƒã‚¯ã¯ã‚¹ãƒ†ãƒ¼ã‚¸ã‹ã‚‰ã¯ã¿å‡ºã‚‹ã‚ˆã†ãªå‹•ãã‚’ã¨ã‚‹ã“ã¨ã¯å‡ºæ¥ãªã„。
下ã®å›³ã®(2)よりã€ãƒ–ãƒãƒƒã‚¯ãŒæ¨ªã«å€’ã‚Œã¦ã„ã‚‹å ´åˆã¯ç§»å‹•æ–¹å‘ã«å¯¾ã—ã¦ã“ã®ã‚ˆã†ãªå›žè»¢ã‚’ã—ã¤ã¤ç§»å‹•ã™ã‚‹ã€‚
下ã®å›³ã®(3)よりã€ãƒ–ãƒãƒƒã‚¯ãŒç›´ç«‹ã—ã¦ã„ã‚‹å ´åˆã¯ç§»å‹•æ–¹å‘ã«å¯¾ã—ã¦ã“ã®ã‚ˆã†ãªå›žè»¢ã‚’ã—ã¤ã¤ç§»å‹•ã™ã‚‹ã€‚
(2) ã€(3) ã«ã¤ã„ã¦ã¯ç°è‰²ã®ãƒ–ãƒãƒƒã‚¯ãŒç§»å‹•å‰ã€ç™½è‰²ã®ãƒ–ãƒãƒƒã‚¯ãŒç§»å‹•å¾Œã®ãƒ–ãƒãƒƒã‚¯ã¨ã™ã‚‹ã€‚
é»’ã„矢å°ã¯ãã®æ–¹å‘ã«å¯¾ã—ã¦ãƒ–ãƒãƒƒã‚¯ãŒç§»å‹•ã—ãŸã“ã¨ã‚’示ã™ã€‚
ã¾ãŸã€ç™½ã®çŸ¢å°ã¯ç§»å‹•ã™ã‚‹éš›ã«ãƒ–ãƒãƒƒã‚¯ãŒãã®æ–¹å‘ã¸å›žè»¢ã—ãŸã“ã¨ã‚’示ã™ã€‚
ブãƒãƒƒã‚¯ã«ç‚¹ç·šãŒå¼•ã‹ã‚Œã¦ã„ã‚‹ãŒã€ã“ã‚Œã¯å›žè»¢ã‚’分ã‹ã‚Šã‚„ã™ãã™ã‚‹ãŸã‚ã«å¼•ã„ãŸã‚‚ã®ã§ã‚る。
(実際ã«ã‚²ãƒ¼ãƒ ã§æ‰±ã†ãƒ–ãƒãƒƒã‚¯ã«ã¯ã“ã®ã‚ˆã†ãªç‚¹ç·šã¯æ›¸ã‹ã‚Œã¦ã„ãªã„)
以下ã®å›³ã¯ãƒ–ãƒãƒƒã‚¯ã®å›žè»¢ã‚’補足ã™ã‚‹ãŸã‚ã®å›³ã§ã‚る。
サイコãƒã®ã‚ˆã†ã«å¯¾é¢ã®å’ŒãŒ7ã«ãªã‚‹ã‚ˆã†ãªãƒ–ãƒãƒƒã‚¯ãŒã‚ã‚‹ã¨ã™ã‚‹ã€‚
ç›´ç«‹ã—ã¦ã„ã‚‹å ´åˆã¨å€’ã‚Œã¦ã„るブãƒãƒƒã‚¯ã«ã¤ã„ã¦ã€ã“ã®ãƒ–ãƒãƒƒã‚¯ã‚’æ±è¥¿å—北ã®4æ–¹å‘ã¸å›žè»¢ã—ã¤ã¤ç§»å‹•ã•ã›ãŸã¨ãã®ä¸Šé¢ã®æ•°å—ã®å¤‰åŒ–を以下ã®å›³ã«ç¤ºã™ã€‚
(実際ã«ã‚²ãƒ¼ãƒ ã§æ‰±ã†ãƒ–ãƒãƒƒã‚¯ã«ã¯ã“ã®ã‚ˆã†ãªæ•°å—ã¯æ›¸ã‹ã‚Œã¦ã„ãªã„。)
ステージã«ã¤ã„ã¦
ステージã¯H×Wã®äºŒæ¬¡å…ƒã‚°ãƒªãƒƒãƒ‰ã§ä¸Žãˆã‚‰ã‚Œã‚‹(1 ≤ H,W ≤ 25) 。
二次元グリッドã¯ãã‚Œãžã‚Œä»¥ä¸‹ã®ç¨®é¡žã®ã‚»ãƒ«ã‹ã‚‰æˆã‚‹ã€‚
"." 床
床ã®ä¸Šã«ãƒ–ãƒãƒƒã‚¯ãŒä¹—ã‚‹ã“ã¨ãŒã§ãる。
"#" å£
å£ã«ã¯é€²è¡Œä¸å¯èƒ½ã§ã‚ã‚Šã€ãƒ–ãƒãƒƒã‚¯ã®ä¸€éƒ¨ãŒå£ã®ä¸Šã«ä¹—るよã†ãªç§»å‹•ã¯ã§ããªã„。
"S" ブãƒãƒƒã‚¯ã®åˆæœŸä½ç½®
ブãƒãƒƒã‚¯ã¯ï¼‘æ–‡å—ã ã‘与ãˆã‚‰ã‚Œã‚‹ã€‚åˆæœŸçŠ¶æ…‹ã§ã¯ç›´ç«‹ã—ã¦ã„る状態ã—ã‹å˜åœ¨ã—ãªã„。
"G" ゴール地点
ゴールã¯ã‚¹ãƒ†ãƒ¼ã‚¸ä¸ã«ï¼‘ã¤ã—ã‹å‡ºç¾ã—ãªã„。
ã¾ãŸã€ãƒ–ãƒãƒƒã‚¯ãŒç›´ç«‹ã—ã¦ã„る状態ã§ã—ã‹ã‚´ãƒ¼ãƒ«ã™ã‚‹ã“ã¨ã¯ä¸å¯èƒ½ã§ã‚る。
特殊å£ã¨ã‚¹ã‚¤ãƒƒãƒ
アルファベットå°æ–‡å— 特殊å£
ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆå¤§æ–‡å— ç‰¹æ®Šå£ã«å¯¾å¿œã™ã‚‹ã‚¹ã‚¤ãƒƒãƒ
特殊å£ã¯å‡ºç¾æ™‚ã«ã¯é€²è¡Œä¸å¯èƒ½ã§ã‚ã‚Šã€ãƒ–ãƒãƒƒã‚¯ã®ä¸€éƒ¨ãŒç‰¹æ®Šå£ã®ä¸Šã«ä¹—るよã†ãªç§»å‹•ã¯ã§ããªã„。
ブãƒãƒƒã‚¯ãŒå›žè»¢ã‚’è¡Œã„ç›´ç«‹ã—ãŸã¨ãã«ãƒ–ãƒãƒƒã‚¯ã®çœŸä¸‹ã«ã‚¹ã‚¤ãƒƒãƒãŒã‚ã‚‹ã¨ãã€ãã®ã‚¹ã‚¤ãƒƒãƒã¯æŠ¼ã•ã‚Œã‚‹ã€‚
スイッãƒã‚’押ã—ãŸã¨ãã€åŒã˜ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã®ç‰¹æ®Šå£ãŒå‡ºç¾ã—ã¦ã„ã‚‹ã¨ãã¯æ¶ˆæ»…ã—ã€é€†ã«æ¶ˆæ»…ã—ã¦ã„ã‚‹ã¨ãã¯å‡ºç¾ã™ã‚‹ã€‚
ステージ開始直後ã§ã¯ã™ã¹ã¦ã®ç‰¹æ®Šå£ãŒå‡ºç¾ã—ã¦ã„ã‚‹ã¨ã™ã‚‹ã€‚
ã²ã¨ã¤ã®ã‚¹ãƒ†ãƒ¼ã‚¸ã§ç¾ã‚Œã‚‹ç‰¹æ®Šå£ã¨ã‚¹ã‚¤ãƒƒãƒã¯æœ€å¤§ï¼•ç¨®é¡žã¨ã™ã‚‹ã€‚
スイッãƒã‚’表ã™ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¯{'A','B','C','D','E'}ã§ã‚る。
特殊å£ã‚’表ã™ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¯{'a','b','c','d','e'}ã§ã‚る。
スイッãƒã¨ç‰¹æ®Šå£ã®æ•°ã¯H×W個以下ã§ã‚る。
特殊å£ã¨åŒã˜ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã®ã‚¹ã‚¤ãƒƒãƒãŒã‚¹ãƒ†ãƒ¼ã‚¸ã®ä¸ã«å¿…ãšå‡ºç¾ã™ã‚‹ã¨ã¯é™ã‚‰ãªã„。
ã¾ãŸã€ã‚¹ã‚¤ãƒƒãƒã¨åŒã˜ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã®ç‰¹æ®Šå£ãŒã‚¹ãƒ†ãƒ¼ã‚¸ã®ä¸ã«å¿…ãšå‡ºç¾ã™ã‚‹ã¨ã¯é™ã‚‰ãªã„。
"^" トラップ
トラップã®ãƒžã‚¹ã®ä¸Šã«ã¯ç›´æ–¹ä½“ãŒç›´ç«‹ã—ãŸçŠ¶æ…‹ã§ä¹—ã£ã¦ã¯ã„ã‘ãªã„。
ステージã®æƒ…å ±ã¨é‡‘属体ã®åˆæœŸä½ç½®ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã®ã§ã€ã“ã®ãƒ‘ズルを解ã最çŸæ‰‹æ•°ã‚’求ã‚よ。 解ãŒå˜åœ¨ã—ãªã„å ´åˆã¯-1を出力ã—ãªã•ã„。
H W L Cell1-1 ... Cell1-W . . . CellH-1 ... CellH-W
最åˆã«H,W,LãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
ãã‚Œãžã‚Œã€ã‚¹ãƒ†ãƒ¼ã‚¸ã®ç¸¦ã®é•·ã•ã€æ¨ªã®é•·ã•ã€ãƒ–ãƒãƒƒã‚¯ã®é•·ã•ã‚’示ã™ã€‚
次ã«H×Wã®äºŒæ¬¡å…ƒã‚°ãƒªãƒƒãƒ‰ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ã“ã‚Œã¯ã‚¹ãƒ†ãƒ¼ã‚¸ã®æƒ…å ±ã‚’è¡¨ã—ã¦ã„る。
入力ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã€‚
ステージã®æƒ…å ±ã¨é‡‘属体ã®åˆæœŸä½ç½®ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã®ã§ã€ã“ã®ãƒ‘ズルを解ã最çŸæ‰‹æ•°ã‚’求ã‚よ。
解ãŒå˜åœ¨ã—ãªã„å ´åˆã¯-1を出力ã—ãªã•ã„。
5 5 2 ##### #S.G# #...# #...# #####
4
3 12 2 ############ #S..A..a..G# ############
6
3 12 2 ############ #S...A.a..G# ############
-1
7 13 3 ############# #S....#.....# #.....#.....# #.....#.....# #...........# #..........G# #############
8
3 12 2 ############ #S^^.^^.^^G# ############
6