Time Limit: 8 sec / Memory Limit: 64 MB
ä¼èª¬ã®å‰£ã‚’ç ´å£Šã—ãŸé”王ã¯ï¼Œã¤ã„ã«å‹‡è€…ã‚’ã‚ã‚‹éºè·¡ã«è¿½ã„è©°ã‚ãŸï¼Ž æ—¢ã«å‹‡è€…ã¯è¢‹ã®é¼ ã§ã‚ã‚‹ãŒï¼Œç›¸æ‰‹ã¯ç¥žã€…ã®åŠ è·ã‚’å¾—ãŸå‹‡è€…ã§ã‚る. ãŸã¨ãˆä¼èª¬ã®å‰£ãŒãªãã¨ã‚‚,ã„ã‹ãªã‚‹å¥‡è·¡ãŒå¥´ã«å‘³æ–¹ã™ã‚‹ã‹ã‚ã‹ã£ãŸã‚‚ã®ã§ã¯ãªã„. é”王もä¼èª¬ã®å‰£ã®ç ´å£Šã‚„ã“ã‚Œã¾ã§ã®æˆ¦é—˜ã§ï¼Œé”力を大é‡ã«æ¶ˆè²»ã—,疲弊ã—ã¦ã„る. ãã“ã§ï¼Œä¸‡å…¨ã‚’期ã™ãŸã‚ã«ï¼Œå¼·åŠ›ãªä½¿ã„é”を大é‡ã«å¬å–šã—,一斉攻撃を仕掛ã‘ã‚‹ã“ã¨ã«ã—ãŸï¼Ž ã—ã‹ã—,強力ãªä½¿ã„é”を使役ã™ã‚‹ã«ã¯ï¼Œé”力を大é‡ã«æ¶ˆè²»ã—ã¦ã—ã¾ã†ï¼Ž 万ãŒä¸€ï¼Œå‹‡è€…ãŒä½¿ã„é”ã«ã‚ˆã‚‹ç·æ”»æ’ƒã‚’çªç ´ã—ãŸå ´åˆã«å‚™ãˆï¼Œã§ãã‚‹ã ã‘é”力を温å˜ã—ãŸã„. ãã“ã§ï¼Œå…¥ã‚Šå£ã‹ã‚‰ä½¿ã„é”を一度ã«çªå…¥ã•ã›ï¼Œä½•ä½“ã®ä½¿ã„é”ãŒä¸€æ–‰ã«å‹‡è€…を攻撃ã§ãã‚‹ã®ã‹èª¿ã¹ã‚‹ã“ã¨ã«ãªã£ãŸï¼Ž
é”王ã®å³è…•ã§ã‚ã‚‹ã‚ãªãŸã¯ï¼Œä½Žç´šãªä½¿ã„é”ã‚’å¬å–šã—,éºè·¡ã®æ§‹é€ を調ã¹ã•ã›ãŸï¼Ž ã—ã‹ã—,低級ãªä½¿ã„é”を利用ã—ãŸãŸã‚ã‹ï¼Œå ±å‘Šã•ã‚ŒãŸå†…容ã¯éžå¸¸ã«ã‚ã‹ã‚Šã¥ã‚‰ã„ã‚‚ã®ã¨ãªã£ã¦ã—ã¾ã£ãŸï¼Ž ã“ã®ã¾ã¾ã§ã¯å½¹ã«ç«‹ãŸãªã„ã®ã§ï¼Œä»•æ–¹ãªã使ã„é”ã®å ±å‘Šã‚’分æžã™ã‚‹ã“ã¨ã«ã—ãŸï¼Ž
ã¾ãšï¼Œéºè·¡ã®å…¥å£ã«ã¤ã„ã¦ã ãŒï¼Œè¤‡æ•°ã®å…¥å£ãŒã‚る. ã“れらã®å…¥å£ã¯ï¼Œå¿…ãšé€šè·¯ã®ç«¯ã¾ãŸã¯ã„ãã¤ã‹ã®é€šè·¯ãŒäº¤å·®ã—ãŸå ´æ‰€ã«ã‚ã‚‹ã“ã¨ãŒã‚ã‹ã£ãŸï¼Ž ã¾ãŸï¼Œå‹‡è€…ã¯å…¥å£ã§ã¯ãªã„通路ã®ç«¯ã‹äº¤å·®ã—ãŸå ´æ‰€ã«ã„るよã†ã .
ãã—ã¦ï¼Œå•é¡Œã¯éºè·¡å†…ã®é€šè·¯ã§ã‚る. ã“ã®éºè·¡ã«ã¯é”è¡“çš„ãªçµç•Œã‚„ガーディアンãªã©ã¯å˜åœ¨ã—ãªã„ãŒï¼Œé€šè·¯ãŒè¤‡é›‘ã«å…¥ã‚Šçµ„ã‚“ã§ã„る. 幸ã„ã¨ã„ã£ã¦ã„ã„ã®ã‹ï¼Œé€šè·¯ã«ã¯ç‰¹ã«ä¸€æ–¹é€šè¡Œç³»ã®ãƒˆãƒ©ãƒƒãƒ—や, 一度通ã£ãŸé€šè·¯ãŒäºŒåº¦ã¨é€šã‚Œãªããªã‚‹ã‚ˆã†ãªãƒˆãƒ©ãƒƒãƒ—ã¯å˜åœ¨ã—ãªã„よã†ã . ã‚‚ã¡ã‚ん,入る度ã«éºè·¡å†…部全体ã®æ§‹é€ ãŒå¤‰ã‚ã£ã¦ã—ã¾ã†ã‚ˆã†ãªãƒˆãƒ©ãƒƒãƒ—ã‚‚ãªã„. 使ã„é”ãŸã¡ã¯ï¼Œå„通路ã®æƒ…å ±ã‚’ï¼Œéºè·¡ã®ä¸ã«ã‚る通路ã®2ã¤ã®ç«¯ç‚¹ã®åº§æ¨™ã¨ï¼Œ ã“ã®é€šè·¯ã‚’åŒæ™‚ã«é€šã‚‹ã“ã¨ãŒã§ãる使ã„é”ã®æ•°ã¨ã„ã†å½¢ã§å ±å‘Šã—ã¦ããŸï¼Ž
|
|
使ã„é”ã®å ±å‘Šã—ãŸéºè·¡å†…ã®é€šè·¯åŒå£«ã¯ï¼Œäº¤å·®ã™ã‚‹ã“ã¨ãŒã‚る. 二ã¤ã®é€šè·¯ãŒä¸€ç‚¹ã§äº¤ã‚ã‚‹å ´åˆã«ï¼Œã“れを一ã¤ã®äº¤ç‚¹ã¨ã—ã¦æ•°ãˆã‚‹ï¼Ž ã“ã®ã¨ã,通れる使ã„é”ã®æ•°ã¯ï¼Œé€šè·¯ã®é•·ã•ã«å¯¾ã—ã¦æ¯”例é…分ãŒã•ã‚Œã‚‹ï¼Ž 例ãˆã°å›³1ã®ã‚ˆã†ã«ï¼Œä½¿ã„é”ãŒ20匹通れる(0,0)ã¨(10,0)を繋ã通路ã«å¯¾ã—ã¦ï¼Œ 交点ãŒ(4.5,0)ã«ã§ããŸå ´åˆã¯ï¼Œä½¿ã„é”ãŒ9匹通れる(0,0)ã¨(4.5,0)を繋ã通路ã¨ï¼Œ 使ã„é”ãŒ11匹通れる(4.5,0)ã¨(10,0)を繋ã通路ã®2ã¤ã«åˆ†å‰²ã•ã‚Œã‚‹ï¼Ž
|
|
ã•ã‚‰ã«ï¼Œå ±å‘Šã•ã‚ŒãŸé€šè·¯åŒå£«ã¯é‡ãªã‚‹ã“ã¨ãŒã‚る. ã“ã®ã¨ãã¯é‡ãªã£ãŸé€šè·¯éƒ¨åˆ†åŒå£«ã®å’ŒãŒä½¿ã„é”ã®é€šã‚Œã‚‹æ•°ã«ãªã‚‹ï¼Ž 例ãˆã°å›³2ã®ã‚ˆã†ã«ï¼Œä½¿ã„é”ãŒ10匹通れる(0,0)ã¨(10,0)を繋ã通路ã¨ï¼Œ 使ã„é”ãŒ20匹通れる(2,0)ã¨(12,0)を繋ã通路ãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ãã¯ï¼Œ 使ã„é”ãŒ2匹通れる(0,0)ã¨(2,0)を繋ã通路ã¨ï¼Œ 使ã„é”ãŒ8+16ã§24匹通れる(2,0)ã¨(10,0)を繋ã通路ã¨ï¼Œ 使ã„é”ãŒ4匹通れる(10,0)ã¨(12,0)を繋ã通路ã«åˆ†å‰²ã•ã‚Œã‚‹ï¼Ž
å ±å‘Šã•ã‚ŒãŸé€šè·¯ã®æƒ…å ±ã‚’åŸºã«ï¼Œåˆ†å‰²ã‚„ä½µåˆã‚’è¡Œã£ã¦ã„ãã¨ï¼Œè¨ˆç®—上通れる使ã„é”ã®æ•°ã«å°æ•°ãŒå‡ºã‚‹ã“ã¨ãŒã‚る. 使ã„é”ã¯å°ã•ããªã£ãŸã‚Šï¼ŒåŠåˆ†ã®å¤§ãã•ã«åˆ†è£‚ã—ãŸã‚Šã¯ã§ããªã„ãŸã‚,å°æ•°éƒ¨åˆ†ã¯åˆ‡ã‚Šæ¨ã¦ã¦è€ƒãˆã‚Œã°ã‚ˆã„ã ã‚ã†ï¼Ž
使ã„é”ã‹ã‚‰ã®æƒ…å ±ã‚’ã“ã“ã¾ã§åˆ†æžã—ãŸã“ã¨ã§ï¼Œéºè·¡å†…ã®æ§‹é€ ãŒè¦‹ãˆã¦ããŸï¼Ž 後ã¯ï¼Œã©ã‚Œã ã‘ã®ä½¿ã„é”ãŒä¸€æ–‰ã«å‹‡è€…を攻撃ã§ãã‚‹ã®ã‹å‰²ã‚Šå‡ºã™ã ã‘ã§ã‚る.
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
n ax1 ay1 bx1 by1 w1 ・・・ axn ayn bxn byn wn m cx1 cy1 ・・・ cxn cyn dx dy
入力ã®å½¢å¼ã«å«ã¾ã‚Œã‚‹å„変数ã®æ„味ã¨åˆ¶ç´„ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る. n(0 < n <=50)ã¯å»ºç‰©å†…ã®é€šè·¯ã®æ•°ã‚’表ã™ï¼Ž
(axi, ayi)ã¨(bxi, byi) (0 <= axi, ayi, bxi, byi <= 100)ã¯ã‚る通路ã®ç«¯ç‚¹ã‚’表㙠.ã“ã“ã§(axi, ayi)≠(bxi, byi)ã§ã‚ã‚‹ã“ã¨ãŒä¿è¨¼ã•ã‚Œã‚‹ï¼Žã¾ãŸãã‚Œãžã‚Œã®é€šè·¯ã«å¯¾ã—ã¦ï¼Œä½¿ã„é”㌠wi (0 < wi <= 100)匹通るã“ã¨ãŒã§ãる.
m(0 < m <= 10) ã¯å…¥ã‚Šå£ã®æ•°ã‚’表ã™ï¼Ž(cxi, cyi)ãŒå…¥ã‚Šå£ã®ä½ç½®ã‚’, (dx, dy) ã¯å‹‡è€…ãŒéš ã‚Œã¦ã„ã‚‹ä½ç½®ã‚’表ã™ï¼Žã¾ãŸcxi, cyi , dx, dyã¯ã™ã¹ã¦å°‘数第6ä½ã®æ•°å€¤ã¾ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Žå…¥å£ã®å ´æ‰€ï¼Œå‹‡è€…ãŒéš ã‚Œã¦ã„ã‚‹ä½ç½®ã¯ï¼Œé€šè·¯ã®ç«¯ç‚¹ã‹äº¤ç‚¹ä¸Šã§ã‚る.ã¾ãŸåˆ†å‰²ã•ã‚ŒãŸé€šè·¯ã®é•·ã•ã¯ï¼Œ0.000001より大ãã„ã“ã¨ãŒä¿è¨¼ã•ã‚Œã¦ã„る.
勇者ãŒéš ã‚Œã¦ã„ã‚‹ä½ç½®ã«ï¼ŒåŒæ™‚ã«è¥²ã†ã“ã¨ãŒå‡ºæ¥ã‚‹ä½¿ã„é”ã®æœ€å¤§ã®æ•°ã‚’出力ã›ã‚ˆï¼Ž
2 0 0 5 0 10 1 0 6 0 10 1 0.000000 0.000000 6.000000 0.000000
2
2 3 0 7 0 10 0 0 10 0 100 1 0.000000 0.000000 10.000000 0.000000
30
2 0 0 5 5 7 0 5 5 0 4 1 0.000000 0.000000 2.500000 2.500000
3
2 0 0 5 0 9 3 0 8 0 9 1 3.000000 0.000000 5.000000 0.000000
7
10 30 58 43 79 60 16 68 71 61 66 45 59 66 63 63 19 84 28 42 46 45 82 12 76 68 25 57 31 17 59 75 62 18 41 78 32 77 67 18 46 27 89 29 7 32 26 52 14 38 30 4 25.000000 57.000000 61.708447 62.182561 27.000000 89.000000 27.249448 78.772627 36.776964 68.947403
12