ã‚ãªãŸã¯n × n × nã®ç«‹æ–¹ä½“ã®ãƒ«ãƒ¼ãƒ“ックã‚ューブ型ã®ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã«ã‚„ã£ã¦ããŸã€‚
ã‚ãªãŸã¯ç¾åœ¨(x1,y1,z1)ã®éƒ¨å±‹ã«ã„る。
目標ã®å®ã¯(x2,y2,z2)ã®éƒ¨å±‹ã«ã‚る。
ã‚ãªãŸã¯éš£æŽ¥ã—ã¦ã„ã‚‹å‰å¾Œå·¦å³ä¸Šä¸‹ã®éƒ¨å±‹ã«å˜ä½æ™‚é–“ã§ç§»å‹•ã™ã‚‹ã“ã¨ãŒã§ãる。
å„部屋ã«ã¯6ã¤ã®ãƒœã‚¿ãƒ³ãŒã‚ã‚Šã€ãã‚Œãžã‚Œã®ãƒœã‚¿ãƒ³ã‚’押ã™ã“ã¨ã«ã‚ˆã‚Šã€å˜ä½æ™‚é–“ã§ã€ãƒ«ãƒ¼ãƒ“ックã‚ューブã®ã‚ˆã†ã«ä»¥ä¸‹ã®æ“作を行ã†ã“ã¨ãŒã§ãる:
回転ã—ã¦ã„る途ä¸ã§ä»–ã®éƒ¨å±‹ã«ç§»å‹•ã™ã‚‹ã“ã¨ã¯ã§ããªã„。
å®ã®ã‚る部屋ã¾ã§æœ€çŸã§ç§»å‹•ã—ãŸå ´åˆã®æ™‚間を求ã‚よ。
n x1 y1 z1 x2 y2 z2
入力ã¯å…¨ã¦æ•´æ•°ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
1行目ã«nãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
2行目ã«ç¾åœ¨åœ°ã®åº§æ¨™(x1,y1,z1)ã€3行目ã«å®ã®ã‚る部屋ã®åº§æ¨™(x2,y2,z2)ãŒç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
最çŸã®æ™‚間を出力ã›ã‚ˆã€‚
3 0 0 0 1 2 2
3
3 0 0 0 0 0 2
2
回転ã•ã›ã‚‹ã¨å®ã‚‚移動ã—ã¦ã—ã¾ã†ã®ã§ã€å›žè»¢ã•ã›ãšã«ç§»å‹•ã™ã‚‹ã€‚