新作ゲーム"NINJA GAME" ãŒã¤ã„ã«ç™ºå£²ã¨ãªã£ãŸï¼Žã“ã®ã‚²ãƒ¼ãƒ ã§ã¯ãƒ—レイヤーã¯äºŒæ¬¡å…ƒãƒžãƒƒãƒ—上ã®å¿è€…ã‚’æ“作ã—ã¦ç§»å‹•ã‚’è¡Œã†ï¼ŽäºŒæ¬¡å…ƒãƒžãƒƒãƒ—㯠x 軸,ã¾ãŸã¯ y 軸ã®ã©ã¡ã‚‰ã‹ä¸€æ–¹ã«å¹³è¡Œãªè¾ºã®ã¿ã‹ã‚‰ãªã‚‹ï¼Œè‡ªå·±äº¤å·®ã®ãªã„多角形ã§è¡¨ã•ã‚Œã‚‹ï¼Žã„ã¾ï¼Œå¤šè§’å½¢ã®å†…部ã«å˜åœ¨ã™ã‚‹ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã‹ã‚‰ã‚´ãƒ¼ãƒ«åœ°ç‚¹ã¸ã¨ç§»å‹•ã™ã‚‹å¿…è¦ãŒã‚る.
移動ã¯ä¸Šä¸‹å·¦å³ã¨æ–œã‚45°ã®8æ–¹å‘ãŒå¯èƒ½ã§ï¼Œã„ãšã‚Œã‹ã®å¯¾å¿œã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã™ã‚‹ã¨ï¼ŒæŒ‡å®šã—ãŸæ–¹å‘ã«è‡ªå‹•ã§é€²ã¿ç¶šã‘る.ã“ã®è‡ªå‹•ç§»å‹•ã®æœ€ä¸ã®ä»»æ„ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§åˆ¥ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ãŸå ´åˆï¼Œå³åº§ã«ç§»å‹•æ–¹å‘ã®è»¢æ›ãŒå¯èƒ½ã§ã‚る.ã‚ãªãŸã®ç›®æ¨™ã¯ï¼Œã“ã®ã‚²ãƒ¼ãƒ ã§ã®å®Ÿç¸¾ã‚’解除ã™ã‚‹ãŸã‚,最å°ã®ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›å›žæ•°ã§ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã‹ã‚‰ã‚´ãƒ¼ãƒ«åœ°ç‚¹ã«ç§»å‹•ã™ã‚‹ã“ã¨ã§ã‚る.
ã“ã“ã§æ°—を付ã‘ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã¯ï¼Œã‚ャラãŒå¿è€…ã§ã‚ã‚‹ã®ã§ï¼Œå£ä¼ã„ã®ç§»å‹•ãŒå¯èƒ½ã§ã‚ã‚‹ã¨ã„ã†ã“ã¨ã .ã“ã“ã§å£ä¼ã„ã®ç§»å‹•ã™ã‚‹ã¨ã¯ï¼Œå¤šè§’å½¢ã®è¾ºä¸Šã‚’移動ã™ã‚‹ã“ã¨ã§ã‚る.ãŸã ã—,もã¡ã‚ん多角形ã®å¤–部ã«å‡ºã‚‹ã“ã¨ã¯ã§ããªã„.å£ä¼ã„ã®ç§»å‹•ä¸ã«ãã®å£ã«å¯¾ã—åž‚ç›´æ–¹å‘ã«ç§»å‹•ã—よã†ã¨ã™ã‚‹å ´åˆã¯ãれ以上移動ã§ããšã«æ¢ã¾ã‚‹ã®ã ãŒï¼Œä¸€æ–¹ã§å£ä¼ã„ã®ç§»å‹•ä¸ã«æ–œã‚æ–¹å‘ã«ç§»å‹•ã—よã†ã¨ã™ã‚‹å ´åˆï¼Œå£ã¨å¹³è¡Œãªæ–¹å‘ã¸ã®å£ä¼ã„ã®è‡ªå‹•ç§»å‹•ãŒç¶šã,å£ãŒãªããªã£ãŸã¨ã“ã‚ã§å…ƒã®æ–œã‚æ–¹å‘ã«ã¾ãŸè‡ªå‹•ç§»å‹•ã‚’続ã‘る.例ãˆã°ä¸‹å›³ã®ã‚ˆã†ã« y 軸ã«å¹³è¡Œãªå£ã« x 軸æ£æ–¹å‘㨠y è»¸è² æ–¹å‘ã‹ã‚‰ãªã‚‹æ–œã‚æ–¹å‘ã‹ã‚‰ã¶ã¤ã‹ã£ãŸå ´åˆï¼Œã¶ã¤ã‹ã£ãŸå¾Œã¯å£ã«æ²¿ã£ã¦ y è»¸è² æ–¹å‘ã«é€²ã¿ï¼Œå£ãŒãªããªã£ãŸã¨ã“ã‚ã§ã¾ãŸ x 軸æ£æ–¹å‘㨠y è»¸è² æ–¹å‘ã‹ã‚‰ãªã‚‹æ–œã‚æ–¹å‘ã¸ã¨é€²ã¿å§‹ã‚る.
ã“ã“ã§ï¼Œæ–œã‚æ–¹å‘ã«ç§»å‹•ã—ãªãŒã‚‰è§’ã«ã¶ã¤ã‹ã£ãŸã¨ãã®æŒ™å‹•ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž(a) ã®ã‚ˆã†ã«ä¸¡æ–¹å‘ã«å£ãŒå›²ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ãã“ã§æ¢ã¾ã‚Šï¼Œæ–¹å‘転æ›ã‚’ã—ãªã‘ã‚Œã°å‹•ã‘ãªã„.(b) ã‚„ (c) ã®ã‚ˆã†ã«è§’を通りéŽãŽã¦ãã®ã¾ã¾é€²ã‚ã‚‹å ´åˆã¯ï¼Œæ–œã‚æ–¹å‘ã«è‡ªå‹•ç§»å‹•ã‚’続ã‘る.(d) ã®ã‚ˆã†ã«ä¸¡æ–¹å‘ã«é€²ã‚ã‚‹å ´åˆï¼Œå¥½ããªæ–¹å‘ã‚’é¸ã‚“ã§é€²ã‚ã‚‹ã‚‚ã®ã¨ã—ã¦ã‚ˆã„.図ã§ã¯ç§»å‹•ã‚’表ã™çŸ¢å°ã§å£ãŒéš れるãŸã‚å°‘ã—内部å´ã«å¯„ã›ã¦å›³ç¤ºã—ã¦ã„ã‚‹ãŒï¼Œã“れも実際ã«ã¯è¾ºä¸Šã‚’移動ã™ã‚‹ã“ã¨ã‚’表ã™å›³ã§ã‚る.
ã¾ãŸï¼Œä¸Šä¸‹å·¦å³æ–¹å‘ã®ç§»å‹•ä¸ã«è§’ã«ã¶ã¤ã‹ã£ãŸã¨ãã®æŒ™å‹•ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚‹ï¼Ž(e), (f), (g) ã®ã‚ˆã†ãªå ´åˆã¯ãã®ã¾ã¾ã®æ–¹å‘ã«è‡ªå‹•ç§»å‹•ã‚’続ã‘る.(h) ã®ã‚ˆã†ã«å£ã«åž‚ç›´ã«ã¶ã¤ã‹ã£ãŸå ´åˆã¯ãã“ã§æ¢ã¾ã‚Šï¼Œæ–¹å‘転æ›ã‚’ã—ãªã‘ã‚Œã°å‹•ã‘ãªã„.ãŸã ã—,åŒæ§˜ã«ç§»å‹•ã‚’表ã™çŸ¢å°ã‚’å£ã‹ã‚‰å°‘ã—内部å´ã«å¯„ã›ã¦ã„ã‚‹ãŒï¼Œå®Ÿéš›ã«ã¯è¾ºä¸Šã‚’移動ã™ã‚‹ã“ã¨ã‚’表ã™å›³ã§ã‚る.
上記ã®ç§»å‹•ã«é–¢ã™ã‚‹æŒ™å‹•ã«å¾“ã£ãŸä¸Šã§ï¼Œã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã‹ã‚‰ã‚´ãƒ¼ãƒ«åœ°ç‚¹ã«åˆ°é”ã™ã‚‹ãŸã‚ã«å…¥åŠ›ã™ã‚‹å¿…è¦ãŒã‚るコマンドã®æ•°ã®æœ€å°å€¤ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ã»ã—ã„.例ãˆã°ä¸‹å›³ã«ãŠã‘る最å°ã®ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›å›žæ•°ã¯ï¼Œå›³ä¸ã«ç¤ºã™ã‚ˆã†ã«2ã§ã‚る.ã“ã‚Œã¯3ã¤ç›®ã®ã‚µãƒ³ãƒ—ル入力ã«å¯¾å¿œã—ã¦ã„る.
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ï¼Ž データセットã®æ•°ã¯æœ€å¤§ã§ 100 ã§ã‚る. å„データセットã¯ï¼Œæ¬¡ã®å½¢å¼ã§è¡¨ã•ã‚Œã‚‹ï¼Ž
N sx sy gx gy x1 y1 ... xN yN
データセット㮠1 行目ã¯ãƒžãƒƒãƒ—を表ã™å¤šè§’å½¢ã®é ‚点数を表ã™1ã¤ã®æ•´æ•° N (4 ≤ N ≤ 100) ã‹ã‚‰ãªã‚‹ï¼Ž2行目ã¯4ã¤ã®æ•´æ•° sx, sy, gx, gy (-10,000 ≤ sx, sy, gx, gy ≤ 10,000) ã‹ã‚‰ãªã‚Šï¼Œã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã®åº§æ¨™ãŒ (sx, sy),ゴール地点ã®åº§æ¨™ãŒ (gx, gy) ã§ã‚ã‚‹ã“ã¨ã‚’表ã—ã¦ã„る.続ã N è¡Œã§ã¯å¤šè§’å½¢ã®å„é ‚ç‚¹ãŒåæ™‚è¨ˆå›žã‚Šé †ã«ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Žã“ã®ã†ã¡ i 行目ã¯2ã¤ã®æ•´æ•° xi, yi (-10,000 ≤ xi, yi ≤ 10,000) ã‹ã‚‰ãªã‚Šï¼Œi 番目ã®é ‚点ã®åº§æ¨™ãŒ (xi, yi) ã§ã‚ã‚‹ã“ã¨ã‚’表ã™ï¼Žã“ã“ã§ï¼Œä¸Žãˆã‚‰ã‚Œã‚‹ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ï¼Œã‚´ãƒ¼ãƒ«åœ°ç‚¹ï¼Œå¤šè§’å½¢ã¯ä»¥ä¸‹ã®åˆ¶ç´„を満ãŸã™ï¼Ž
入力ã®çµ‚ã‚り㯠1 ã¤ã®ã‚¼ãƒã‹ã‚‰ãªã‚‹è¡Œã§è¡¨ã•ã‚Œã‚‹ï¼Ž
å„データセットã«å¯¾ã—,スタート地点ã‹ã‚‰ã‚´ãƒ¼ãƒ«åœ°ç‚¹ã«è¾¿ã‚Šç€ããŸã‚ã«å¿…è¦ãªæœ€å°ã®ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›ã®å›žæ•°ã‚’ 1 è¡Œã§å‡ºåŠ›ã›ã‚ˆï¼Ž
8 1 1 2 2 0 2 0 0 2 0 2 1 3 1 3 3 1 3 1 2 12 -9 5 9 -9 0 0 0 -13 3 -13 3 -10 10 -10 10 10 -1 10 -1 13 -4 13 -4 10 -10 10 -10 0 12 3 57 53 2 0 0 64 0 64 18 47 18 47 39 64 39 64 60 0 60 0 44 33 44 33 30 0 30 0
1 1 2
1ã¤ç›®ã®å…¥åŠ›ã¯ä¸‹å›³ (1),2ã¤ç›®ã®å…¥åŠ›ã¯ä¸‹å›³ (2) ã«å¯¾å¿œã™ã‚‹ï¼Ž