勇者ãƒãƒ³å¤ªã¯ã„よã„よ最終ダンジョンã®ç›®å‰ã¾ã§ã‚„ã£ã¦ããŸã€‚ã“ã“ã¯ã€æ‚ªã®å¸çŽ‹ãƒœãƒãƒ¢ã‚¹ã®ç ¦ã®å‰ã«åºƒãŒã‚‹é—‡ã®è’野ã§ã‚ã‚Šã€ã‹ãªã‚Šå¼·è€…ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒã€ãã‚Œãžã‚Œã®ç¸„張りを守ã£ã¦ã„る。
図1:è’野
è’野ã¯å›³ï¼‘ã«ç¤ºã™ã‚ˆã†ã«ã€å—西を原点(0, 0)ã¨ã—㟠4 × 4 ã®æ£æ–¹å½¢ã®é ˜åŸŸã§è¡¨ã•ã‚Œã¦ã„る。ã“ã®é ˜åŸŸã®ä¸ã«ã€å›³ã®ç‚¹ã§ç¤ºã•ã‚Œã¦ã„るよã†ã«ã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒæ§‹ãˆã¦ã„る。勇者ãƒãƒ³å¤ªã¯ã“ã®é ˜åŸŸã‚’西ã‹ã‚‰æ±ã¸ï¼ˆWã‹ã‚‰Eã¸ï¼‰æ¨ªæ–ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。ã¤ã¾ã‚Šã€x 座標㌠0.0 ã§ã‚ã‚Š y 座標㌠0.0 以上 4.0 以下ã§ã‚る点ã‹ã‚‰å‡ºç™ºã—ã€x 座標㌠4.0 ã§ã‚ã‚Š y 座標㌠0.0 以上 4.0 以下ã§ã‚る点ã¸ç§»å‹•ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。
モンスターã¯ã€æ•µãŒé ˜åŸŸã«é€²å…¥ã™ã‚‹ã¨ã€è‡ªåˆ†ã¨æ•µã¨ã®è·é›¢ãŒä»–ã®ã©ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã¨æ•µã¨ã®è·é›¢ã‚ˆã‚Šã‚‚çŸã„å ´åˆã€æ•µã«è¥²ã„ã‹ã‹ã£ã¦ãる。
å分ãªã‚¢ã‚¤ãƒ†ãƒ ã‚‚ãªã„今ã€ãƒœãƒãƒ¢ã‚¹ã¨æˆ¦ã†å‰ã«ãªã‚‹ã¹ã戦ã„ã¯é¿ã‘ãŸã„ã®ãŒæœ¬éŸ³ã®ãƒãƒ³å¤ªã ã£ãŸã€‚ãã“ã§ã€ãƒãƒ³å¤ªã¯ã‚ã‚‹ã“ã¨ã«æ°—ã¥ã„ãŸï¼šè‡ªåˆ†ã¨ã®è·é›¢ãŒæœ€ã‚‚çŸããªã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒå¸¸ã«ï¼’匹以上å˜åœ¨ã™ã‚‹é“を進ã‚ã°ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«è¥²ã‚れるã“ã¨ã¯ãªã„。
勇者ãƒãƒ³å¤ªãŒç„¡å‚·ã§ãƒœãƒãƒ¢ã‚¹ã®ã‚‚ã¨ã«è¾¿ã‚Šã¤ã‘ã‚‹ã‹ã¯ã€ã‚ãªãŸã®ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«æ“作ã«ã‹ã‹ã£ã¦ã„る。 é—‡ã®è’野を抜ã‘る最çŸè·é›¢ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã›ã‚ˆã€‚
å‚考ã¨ã—ã¦ã€å›³ï¼‘ã«ãŠã‘る最çŸçµŒè·¯ã‚’図2ã«ç¤ºã™ã€‚
図2:最çŸçµŒè·¯
入力ã¨ã—ã¦è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚å„データセットã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼š
n (モンスターã®æ•°ï¼šæ•´æ•°ï¼‰
x1 y1 (1匹目ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ä½ç½®ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®å®Ÿæ•°ï¼‰
x2 y2 (2匹目ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ä½ç½®ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®å®Ÿæ•°ï¼‰
.
.
xn yn (n 匹目ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ä½ç½®ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®å®Ÿæ•°ï¼‰
n 㯠1 以上 20 以下ã§ã‚る。ã¾ãŸã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ä½ç½®ã‚’示㙠x, y 座標値㯠0.0 以上 4.0 以下ã§ã‚る。
n ㌠0 ã®ã¨ã入力ã®çµ‚ã‚りを示ã™ã€‚
å„データセットã«ã¤ã„ã¦ã€æœ€çŸè·é›¢ã‚’1è¡Œã«å‡ºåŠ›ã›ã‚ˆã€‚モンスターã«è¥²ã‚れるã“ã¨ãªãè’野を横æ–ã™ã‚‹ã“ã¨ãŒã§ããªã„å ´åˆã¯ "impossible" ã¨å‡ºåŠ›ã›ã‚ˆã€‚
è·é›¢ã®å‡ºåŠ›ã¯ 0.00001 以下ã®èª¤å·®ãŒã‚ã£ã¦ã‚‚良ã„ã‚‚ã®ã¨ã™ã‚‹ã€‚
2 1 1 3 3 4 1.0 0.5 1.0 2.5 3.0 1.5 3.0 3.5 1 2.0 2.0 0
5.656854249492 4.618033988750 impossible