ã‚ãªãŸã¯åœ°å…ƒã®ç¸æ—¥ã§ï¼Œä»Šã¾ã§ã«è¦‹ãŸã“ã¨ãŒãªã„ゲームã®å‡ºåº—を発見ã—ãŸï¼Ž N 個ã®6é¢ã‚µã‚¤ã‚³ãƒã‚’,ボード上ã«è½ã¨ã—ã¦è»¢ãŒã™ã‚²ãƒ¼ãƒ ã . よりæ£ç¢ºã«ã¯ï¼Œ N 個ã®ãƒœã‚¿ãƒ³ãŒ N 個ã®ã‚µã‚¤ã‚³ãƒã«1対1ã«ç´ä»˜ã„ã¦ãŠã‚Šï¼Œãƒœã‚¿ãƒ³ã‚’押ã™ã“ã¨ã§å¯¾å¿œã—ãŸã‚µã‚¤ã‚³ãƒãŒãƒœãƒ¼ãƒ‰ã«è½ã¡ã‚‹ï¼Ž ボタンを好ããªã‚ˆã†ã« N 回押ã—,サイコãƒã‚’ N 回è½ã¨ã—ã¦è»¢ãŒã™ã“ã¨ã§å¾—点を得るゲームã§ã‚る.
ゲームã®ã‚ˆã‚Šè©³ç´°ãªãƒ«ãƒ¼ãƒ«ã‚’説明ã—よã†ï¼Ž ゲームã§ä½¿ç”¨ã™ã‚‹ N 個ã®ã‚µã‚¤ã‚³ãƒã¯ã™ã¹ã¦å„辺ã®é•·ã•ãŒ1ã®ç«‹æ–¹ä½“ã§ã‚り,ボードã¯é•·ã•ãŒ1ã®æ£æ–¹å½¢ã®ãƒžã‚¹ã«åŒºåˆ‡ã‚‰ã‚ŒãŸå分ã«åºƒã„å¹³é¢ã§ã‚る. ゲーム開始å‰ï¼Œãƒœãƒ¼ãƒ‰ã®å„マスã«ã¯ã™ã¹ã¦0ãŒæ›¸ã‹ã‚Œã¦ã„る. å„サイコãƒã®å„é¢ã«ã¯æ•´æ•°ãŒæ›¸ã‹ã‚Œã¦ã„る.ã“ã‚Œã¯1ã‹ã‚‰6ã¾ã§ã¨ã¯é™ã‚‰ãªã„ã—,サイコãƒã”ã¨ã«é•ã†æ•°ãŒæ›¸ã‹ã‚Œã¦ã„ã‚‹ã“ã¨ã‚‚ã‚る.
ゲームã§ç”¨ã„ã‚‹ç体ã«ã¯ N 個ã®ãƒœã‚¿ãƒ³ãŒä»˜ã„ã¦ãŠã‚Šï¼Œ N 個ã®ã‚µã‚¤ã‚³ãƒã¨1対1ã«ç´ä»˜ã„ã¦ã„る. ã„ãšã‚Œã‹ã®ãƒœã‚¿ãƒ³ã‚’押ã™ã¨ï¼Œå¯¾å¿œã—ãŸã‚µã‚¤ã‚³ãƒãŒæ©Ÿæ¢°ã‹ã‚‰æŽ’出ã•ã‚Œã¦ãƒœãƒ¼ãƒ‰ã«è½ã¡ï¼Œä½•åº¦ã‹å›žè»¢ã™ã‚‹ï¼Ž 回転ã®é€”ä¸ï¼Œã‚µã‚¤ã‚³ãƒã®ä¸‹é¢ã¯å¿…ãšãƒœãƒ¼ãƒ‰ã®ã„ãšã‚Œã‹ã®ãƒžã‚¹ã«ã´ã£ãŸã‚Šã¨é‡ãªã‚‹ï¼Ž 下é¢ãŒãƒžã‚¹ã«è§¦ã‚Œã‚‹åº¦ï¼Œãã®ãƒžã‚¹ã«æ›¸ã‹ã‚Œã¦ã„ãŸæ•°ãŒï¼Œã‚µã‚¤ã‚³ãƒã®ä¸‹é¢ã«æ›¸ã‹ã‚ŒãŸæ•°ã§ä¸Šæ›¸ãã•ã‚Œã‚‹ï¼Ž ã“ã‚Œã¯è½ä¸‹ã«ã‚ˆã‚Šåˆã‚ã¦ãƒœãƒ¼ãƒ‰ã«è§¦ã‚ŒãŸã¨ãã‚‚å«ã‚€ï¼Ž 回転ãŒæ¢ã¾ã£ãŸå¾Œï¼Œã‚µã‚¤ã‚³ãƒã¯ãƒœãƒ¼ãƒ‰ã‹ã‚‰å–り除ã‹ã‚Œï¼Œå…ƒã®æŽ’出装置ã¸ã¨æˆ»ã•ã‚Œã‚‹ï¼Ž ボタンを N 回押ã—ãŸå¾Œï¼Œãƒœãƒ¼ãƒ‰ã«æ›¸ã‹ã‚ŒãŸæ•°ã®å’ŒãŒæœ€çµ‚得点ã¨ãªã‚‹ï¼Ž åŒã˜ãƒœã‚¿ãƒ³ã‚’複数回押ã™ã“ã¨ã¯ã§ãã‚‹ãŒï¼Œ1ã¤å‰ã«æŽ’出ã—ãŸã‚µã‚¤ã‚³ãƒã®å›žè»¢ãŒçµ‚ã‚り,排出装置ã«æˆ»ã‚‹ã¾ã§æ¬¡ã®ãƒœã‚¿ãƒ³ã‚’押ã™ã“ã¨ã¯ã§ããªã„.
ã•ã¦ï¼Œå‡ºåº—ã®ãŠã£ã¡ã‚ƒã‚“ã¯ã‚µã‚¤ã‚³ãƒã®æŽ’出ã®ä»•æ–¹ã¯ãƒ©ãƒ³ãƒ€ãƒ ã ã¨ä¸»å¼µã—ã¦ã„ã‚‹ãŒï¼Œæ³¨æ„æ·±ã„ã‚ãªãŸã¯ï¼Œä»–ã®å®¢ãŒéŠã¶æ§˜åを観察ã™ã‚‹ã“ã¨ã§ï¼ŒåŒã˜ãƒœã‚¿ãƒ³ã‚’押ã—ãŸæ™‚ã®æŒ™å‹•ãŒãã‚Œã¾ã§ã®ãƒœã‚¿ãƒ³ã®æŠ¼ã—æ–¹ã«ä¾ã‚‰ãšå®Œå…¨ã«åŒä¸€ã§ã‚ã‚‹ã“ã¨ã«æ°—付ã„ãŸï¼Ž より具体的ã«ã¯ï¼Œ i 番目ã®ãƒœã‚¿ãƒ³ã‚’押ã—ãŸã¨ãã®æŒ™å‹•ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«æ±ºå®šçš„ã§ã‚る.
ã“ã“ã§ï¼Œä¾¿å®œä¸Š3次元空間を考ãˆï¼Œãƒžã‚¹ã®è¾ºã«å¹³è¡Œãªå‘ãã«ãã‚Œãžã‚Œ x 軸㨠y 軸をã¨ã‚Šï¼Œã‚µã‚¤ã‚³ãƒä¸Šé¢ãŒå‘ãæ–¹å‘ã‚’ z 軸æ£æ–¹å‘ã¨ã™ã‚‹. ã“ã®æ™‚,サイコãƒã®å›žè»¢ã¯ x, y 軸ã®æ£ï¼Œè² æ–¹å‘ã®4通りã§ã‚り,ãã‚Œãžã‚Œä¸‹å›³ã®ã‚ˆã†ã«ãªã‚‹ï¼ŽãŸã ã—,図ä¸ã®è¨˜å·ã¯å¾Œè¿°ã®å…¥åŠ›å½¢å¼ã«å¯¾å¿œã—ã¦ã„る.
決定的ã«å‹•ãã¨ã¯ãªã‚“ã¦è©æ¬ºã ,ã¨æ†¤ã‚Šã‚’æ„Ÿã˜ãŸã‚‚ã®ã®ï¼Œã‚ãªãŸã¯ N 回ã®ãƒœã‚¿ãƒ³ã®æŠ¼ã—æ–¹ã«ã‚ˆã£ã¦æœ€çµ‚得点を変ãˆã‚‰ã‚Œã‚‹ã“ã¨ã«æ°—ãŒä»˜ã„ãŸï¼Ž
ã‚ãªãŸã¯å…¥å¿µãªè¦³å¯Ÿã«ã‚ˆã‚Šå„サイコãƒã®å„é¢ã«æ›¸ã‹ã‚ŒãŸæ•°ã‚„è½ã¨ã•ã‚Œã‚‹åˆæœŸä½ç½®ãƒ»å‘ã・ãã®å¾Œã®å›žè»¢ã®ä»•æ–¹ã«è‡³ã‚‹ã¾ã§å®Œå…¨ãªæƒ…å ±ã‚’æƒãˆãŸï¼Ž 集ã‚ãŸæƒ…å ±ã«åŸºã¥ã„ã¦ï¼Œæœ€å–„ã®ãƒœã‚¿ãƒ³ã®æŠ¼ã—æ–¹ã§å¾—られるã“ã®ã‚²ãƒ¼ãƒ ã®æœ€é«˜å¾—点を求ã‚よ.
入力ã¯40個以下ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ï¼Žå„データセットã¯ä»¥ä¸‹ã®å½¢å¼ã§è¡¨ã•ã‚Œã‚‹ï¼Ž
N
1番目ã®ã‚µã‚¤ã‚³ãƒã®æƒ…å ±
...
N 番目ã®ã‚µã‚¤ã‚³ãƒã®æƒ…å ±
入力ã®æœ€åˆã®è¡Œã¯ï¼Œã‚µã‚¤ã‚³ãƒã®å€‹æ•°ã‚’表ã™1ã¤ã®æ•´æ•° N ã‹ã‚‰ãªã‚‹ï¼Ž1 ≤ N ≤ 15 ã¨ä»®å®šã—ã¦ã‚ˆã„. 以é™ï¼Œ N 個ã®ã‚µã‚¤ã‚³ãƒã®æƒ…å ±ãŒç¶šã.
ãã‚Œãžã‚Œã®ã‚µã‚¤ã‚³ãƒã®æƒ…å ±ã¯ï¼Œä»¥ä¸‹ã®å½¢å¼ã§è¡¨ã•ã‚Œã‚‹ï¼Ž
x y
l r f b d u
rot
1行目ã¯2ã¤ã®æ•´æ•° x, y ã‹ã‚‰ãªã‚Šï¼ŒæŽ’出ã•ã‚ŒãŸã¨ãã«ã‚µã‚¤ã‚³ãƒãŒè½ã¨ã•ã‚Œã‚‹ãƒžã‚¹ã®ä¸å¿ƒã®åº§æ¨™ (x, y) を表ã™ï¼Ž-1,000 ≤ x, y ≤ 1,000 ã¨ä»®å®šã—ã¦ã‚ˆã„.
2行目ã¯6ã¤ã®æ•´æ•° l, r, f, b, d, u ã‹ã‚‰ãªã‚Šï¼Œå„é¢ã«æ›¸ã‹ã‚ŒãŸæ•°ã‚’表ã™ï¼Ž l, r, f, b, d, u ã¯ãã‚Œãžã‚Œï¼Œè½ã¨ã•ã‚ŒãŸã¨ãã« x è»¸è² æ–¹å‘, x 軸æ£æ–¹å‘, y è»¸è² æ–¹å‘, y 軸æ£æ–¹å‘, z è»¸è² æ–¹å‘, z 軸æ£æ–¹å‘ã‚’å‘ã„ã¦ã„ã‚‹é¢ã«æ›¸ã‹ã‚ŒãŸæ•°ã§ã‚る.1 ≤ l, r, f, b, d, u ≤ 100 ã¨ä»®å®šã—ã¦ã‚ˆã„.
3行目ã¯å›žè»¢ã®ä»•æ–¹ã‚’表ã™æ–‡å—列 rot ã‹ã‚‰ãªã‚‹ï¼Ž rot 㯠'L', 'R', 'F', 'B' ã®ã¿ã‹ã‚‰ãªã‚‹æ–‡å—列ã§ã‚り,1æ–‡å—以上,30æ–‡å—以下ã§ã‚る. rot ã® j 番目ã®æ–‡å—㯠j 回目ã®å›žè»¢ã®æ–¹å‘を表ã—ã¦ãŠã‚Šï¼Œæ–‡å—㌠'L', 'R', 'F', 'B' ã®ã¨ããã‚Œãžã‚Œï¼Œ x è»¸è² æ–¹å‘,x 軸æ£æ–¹å‘,y è»¸è² æ–¹å‘,y 軸æ£æ–¹å‘ã«å›žè»¢ã™ã‚‹ã“ã¨ã‚’示ã™ï¼Ž
入力ã®çµ‚ã‚ã‚Šã¯ï¼Œ1ã¤ã®ã‚¼ãƒã‚’å«ã‚€1è¡Œã§ç¤ºã•ã‚Œã‚‹ï¼Ž
å„データセットã«ã¤ã„ã¦ï¼Œ N 回ã®ãƒœã‚¿ãƒ³ã®æŠ¼ã—方を工夫ã™ã‚‹ã“ã¨ã§å¾—られる最高得点を1è¡Œã§å‡ºåŠ›ã›ã‚ˆï¼Ž å„出力行ã¯ã“ã®æ•°å€¤ä»¥å¤–ã®æ–‡å—ã‚’å«ã‚“ã§ã¯ãªã‚‰ãªã„.
1 0 0 1 2 3 4 5 6 RRRRBBBBLLLLFFFF 2 0 0 1 1 1 1 1 1 RRR 2 2 100 100 100 100 100 100 FFF 1 1000 -1000 1 2 3 4 5 6 LFRB 4 -3 -4 1 2 3 4 5 6 BBBBBBBB 4 -3 11 12 13 14 15 16 LLLLLLLL 3 4 21 22 23 24 25 26 FFFFFFFF -4 3 31 32 33 34 35 36 RRRRRRRR 3 -2 -2 9 3 1 1 1 1 RRRRBLLLBRRBLB 0 -3 2 5 2 5 2 1 BBLBBRBB 3 0 10 7 2 10 1 5 LLFLLBLL 0
64 403 10 647 96