白虎é‹é€ã¯ä¼šæ´¥è‹¥æ¾å¸‚を代表ã™ã‚‹é‹é€ä¼šç¤¾ã§ã™ã€‚昨今ã®åŽŸæ²¹ä¾¡æ ¼ã®é«˜é¨°ã¯é‹é€ä¼šç¤¾ã«ã‚‚多大ãªãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€é‹é€ä¼šç¤¾å„社ã§ã¯ã€ã§ãã‚‹ã ã‘å°‘ãªã„ガソリンã§è·ç‰©ã‚’é‹ã¶ã“ã¨ãŒèª²é¡Œã¨ãªã£ã¦ã„ã¾ã™ã€‚ |
|
白虎é‹é€ã§ã¯ã€é‡ã„è·ç‰©ã‚’ç©ã‚“ã トラックã¯ã€ãã®èµ°ã‚Šã ã—ã«å¤šãã®ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚’å¿…è¦ã¨ã™ã‚‹ã“ã¨ã«ç€ç›®ã—ã¾ã—ãŸã€‚トラックãŒå€‰åº«ã‚’出発ã—ã¦ã‹ã‚‰ä¸€åº¦ã‚‚åœæ¢ã™ã‚‹ã“ã¨ãªã目的地ã¾ã§åˆ°é”ã™ã‚‹çµŒè·¯ã®ä¸ã§æœ€çŸæ™‚é–“ã®çµŒè·¯ã‚’通るã“ã¨ã§ã€ã‚¬ã‚½ãƒªãƒ³ã®ç¯€ç´„ãŒã§ãã‚‹ã¨è€ƒãˆã¾ã—ãŸã€‚
ã‚ãªãŸã®ä»•äº‹ã¯ã€ã“ã®ã‚ˆã†ãªæœ€çŸçµŒè·¯ã‚’計算ã§ãるカーナビを開発ã™ã‚‹ã“ã¨ã§ã™ã€‚作æˆã™ã‚‹ã‚«ãƒ¼ãƒŠãƒ“用プãƒã‚°ãƒ©ãƒ ã®ä»•æ§˜ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚
市内ã®é“è·¯æƒ…å ±ã€ãƒˆãƒ©ãƒƒã‚¯ãŒäº¤å·®ç‚¹é–“を移動ã™ã‚‹ã®ã«å¿…è¦ãªæ™‚é–“ã€ä¿¡å·æ©ŸãŒã‚る交差点ã¨å„ä¿¡å·æ©Ÿã®å‘¨æœŸã€å·¥äº‹ä¸ã®é“è·¯ã€æ¸‹æ»žã—ã¦ã„ã‚‹é“è·¯ã¨æ¸‹æ»žåº¦ã€ç™½è™Žé‹é€ã®å€‰åº«(始点)ã¨ç›®çš„地(終点)ã®ä½ç½®ã‚’入力ã¨ã—ã€å§‹ç‚¹ã‹ã‚‰çµ‚点ã¾ã§ã®æœ€çŸã®æ™‚間を出力ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ä¸‹ã•ã„。
図ã®ã‚ˆã†ã«ã€æ±è¥¿ã®æ–¹å‘ã®é“è·¯ã¯aã€bã€cã€... ã¨è‹±å°æ–‡å—ã§åå‰ãŒä»˜ã‘られ ã€å—北ã®æ–¹å‘ã®é“路㯠1ã€2ã€3ã€... ã¨æ•´æ•°ã§åå‰ãŒä»˜ã‘られã¦ã„ã¾ã™ã€‚市内ã®äº¤å·®ç‚¹ã¯ã€ã“れらã®è‹±å°æ–‡å—ã¨æ•´æ•°ã®çµ„ã¿åˆã‚ã› H-V ã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚
例ãˆã°ã€å¸‚内ã®æœ€åŒ—西ã®äº¤å·®ç‚¹ã¯ a-1 ã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚å„ä¿¡å·ã¯å‘¨æœŸ k ã‚’ã‚‚ã¡ã€k 分ã”ã¨ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã™ã€‚æ±è¥¿ãŒé’ãªã‚‰ã°å—北ãŒèµ¤ã§ã€å—北ãŒé’ãªã‚‰ã°æ±è¥¿ãŒèµ¤ã§ã™ã€‚黄色ã®ã‚·ã‚°ãƒŠãƒ«ã¯å˜åœ¨ã—ã¾ã›ã‚“。トラックã¯äºŒã¤ã®äº¤å·®ç‚¹ã‚’çµã¶é“路を移動ã™ã‚‹ã®ã« D 分è¦ã—ã¾ã™ãŒã€ãã®é“è·¯ãŒæ¸‹æ»žã—ã¦ã„ã‚‹å ´åˆã¯ã•ã‚‰ã« d 分ã®æ™‚é–“ã‚’è¦ã—ã¾ã™ã€‚トラックã¯é“è·¯ãŒå·¥äº‹ä¸ã®å ´åˆã¯ç§»å‹•ã§ãã¾ã›ã‚“。
ã¾ãŸã€äº¤å·®ç‚¹ã«åˆ°é”ã—ãŸæ™‚刻ã«ã€ä¿¡å·ãŒèµ¤ã®å ´åˆã«ã¯é€²å…¥ã§ãã¾ã›ã‚“。トラックã¯äº¤å·®ç‚¹ã§ã®ã¿ã€æ±ã€è¥¿ã€å—ã€åŒ—ã«æ–¹å‘を変ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€æ¥ãŸæ–¹å‘ã¸ã¯ç§»å‹•(Uターン)ã§ãã¾ã›ã‚“。é“è·¯ã¯2方通行ã§ã‚ã‚Šã€ãƒˆãƒ©ãƒƒã‚¯ãŒè¡Œãæ¥ã™ã‚‹æ™‚é–“ã€å·¥äº‹çŠ¶æ³ã€æ¸‹æ»žåº¦ã¯2æ–¹å‘共通ã§ã™ã€‚
åˆæœŸçŠ¶æ…‹ã¨ã—ã¦ã€ãƒˆãƒ©ãƒƒã‚¯ã¯æ±ã‚’å‘ã„ã¦ã„ã¦ã€ãƒˆãƒ©ãƒƒã‚¯ãŒå€‰åº«ã‚’出発ã™ã‚‹çž¬é–“ã™ã¹ã¦ã®ä¿¡å·æ©ŸãŒå—北ã®æ–¹å‘ã«é’ã«åˆ‡ã‚Šæ›¿ã‚ã‚‹ã‚‚ã®ã¨ã—ã¾ã™ã€‚ã¾ãŸã€ãƒˆãƒ©ãƒƒã‚¯ã¯ 100分以内ã§ç›®çš„地ã«åˆ°é”ã§ãã‚‹ã‚‚ã®ã¨ã—ã¾ã™ã€‚
複数ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã®ä¸¦ã³ãŒå…¥åŠ›ã¨ã—ã¦ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚入力ã®çµ‚ã‚ã‚Šã¯ã‚¼ãƒãµãŸã¤ã®è¡Œã§ç¤ºã•ã‚Œã¾ã™ã€‚å„データセットã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
M N D ns H1-V1 k1 H2-V2 k2 : Hns-Vns kns nc H11-V11 H12-V12 H21-V21 H22-V22 : Hnc1-Vnc1 Hnc2-Vnc2 nj H11-V11 H12-V12 d1 H21-V21 H22-V22 d2 : Hnj1-Vnj1 Hnj2-Vnj2 dnj Hs-Vs Hd-Vd
1行目ã«é“è·¯ã®æœ¬æ•° M, N (2 ≤ M, N ≤ 20) ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚2行目ã«ã€äºŒã¤ã®äº¤å·®ç‚¹ã‚’çµã¶é“路を移動ã™ã‚‹ã®ã«è¦ã™ã‚‹æ™‚é–“ D (1 ≤ D ≤ D, æ•´æ•°) ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
3行目ã«ä¿¡å·æ©Ÿã®æ•° ns ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚続ã ns è¡Œã«ã€i 個目ã®ä¿¡å·æ©Ÿã®ä½ç½®ã‚’表ã™è‹±å°æ–‡å—ã¨æ•´æ•°ã®çµ„ Hi-Vi ã¨å‘¨æœŸ k (1 ≤ k ≤ 100) ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
続ãè¡Œã«ã€å·¥äº‹ä¸ã®é“è·¯ã®æ•° nc ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚続ã nc è¡Œã«ã€i 個目ã®å·¥äº‹ä¸ã®é“è·¯ã®ï¼’ã¤ã®ç«¯ç‚¹ï¼ˆäº¤å·®ç‚¹ï¼‰ã‚’表ã™è‹±å°æ–‡å—ã¨æ•´æ•°ã®çµ„ Hi1-Vi1 Hi2-Vi2 ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
続ãè¡Œã«ã€æ¸‹æ»žé“è·¯ã®æ•° nj ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚続ã nj è¡Œã«ã€i 個目ã®æ¸‹æ»žé“è·¯ã®ï¼’ã¤ã®ç«¯ç‚¹ï¼ˆäº¤å·®ç‚¹ï¼‰ã‚’表ã™è‹±å°æ–‡å—ã¨æ•´æ•°ã®çµ„ Hi1-Vi1 Hi2-Vi2 ã¨æ™‚é–“ di (1 ≤ di ≤ 100) ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
最後ã®è¡Œã«ã€å§‹ç‚¹ã®äº¤å·®ç‚¹ Hs-Vd ã¨çµ‚点ã®äº¤å·®ç‚¹ Hd-Vd ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
データセットã®æ•°ã¯ 20 を超ãˆã¾ã›ã‚“。
データセット毎ã«æœ€çŸæ™‚間を1行ã«å‡ºåŠ›ã—ã¾ã™ã€‚
4 5 1 3 b-2 3 c-3 2 c-4 1 3 a-2 b-2 b-3 c-3 d-3 d-4 2 b-3 b-4 1 c-1 d-1 1 d-1 b-4 4 5 1 3 b-2 3 c-3 2 c-4 1 3 a-2 b-2 b-3 c-3 d-3 d-4 2 b-3 b-4 1 c-1 d-1 1 d-2 b-4 4 5 1 3 b-2 3 c-3 2 c-4 1 3 a-2 b-2 b-3 c-3 d-3 d-4 2 b-3 b-4 1 c-1 d-1 1 d-3 b-4 0 0
7 4 8