Nate U. Smith ã¯å¤§éƒ½å¸‚åœã®é‰„é“会社を経営ã—ã¦ã„る.ã“ã®å¤§éƒ½å¸‚åœã«ã¯ï¼Œå½¼ã®é‰„é“会社以外ã«ãƒ©ã‚¤ãƒãƒ«ã®é‰„é“会社ãŒã‚る.2 社ã¯äº’ã„ã«ç«¶åˆé–¢ä¿‚ã«ã‚る.
ã“ã®å¤§éƒ½å¸‚åœã§ã¯ï¼Œåˆ—車ã®é‹è¡Œã‚’容易ã«ã™ã‚‹ãŸã‚,全ã¦ã®è·¯ç·šã¯ä¸¡ç«¯ã®é§…ã‚’çµã‚“ã 線分を経路ã¨ã—ã¦ã„る.ã¾ãŸï¼Œè¸åˆ‡ç‰ã®è¨ç½®ã‚’ã•ã‘ã‚‹ãŸã‚,全ã¦ã®è·¯ç·šã¯é«˜æž¶ã¾ãŸã¯åœ°ä¸‹ã«æ•·è¨ã•ã‚Œã¦ã„る.既å˜è·¯ç·šã¯ï¼Œå…¨ç·šã«ã‚ãŸã£ã¦é«˜æž¶ã‚’èµ°ã‚‹ã‹ï¼Œã¾ãŸã¯å…¨ç·šã«ã‚ãŸã£ã¦åœ°ä¸‹ã‚’èµ°ã‚‹ã‹ã®ã„ãšã‚Œã‹ã§ã‚る.
ã¨ã“ã‚ã§ï¼Œæœ€è¿‘,ã“ã®å¤§éƒ½å¸‚åœã«ã‚ã‚‹ 2 ã¤ã®è¡—区 A,B ãŒã•ã‹ã‚“ã«é–‹ç™ºã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‹ã‚‰ï¼ŒNate ã®ä¼šç¤¾ã§ã¯ã“れらã®è¡—区ã®é–“ã«æ–°ã—ã„路線をè¨ã‘ã‚‹ã“ã¨ã‚’決æ–ã—ãŸï¼Žã“ã®æ–°è·¯ç·šã¯ï¼Œå¾“æ¥ã®è·¯ç·šã¨åŒæ§˜ã« A,B を両端ã¨ã™ã‚‹ç·šåˆ†ã‚’経路ã¨ã—ãŸã„ãŒï¼ŒçµŒè·¯ã®é€”ä¸ã«ã¯åˆ¥ã®è·¯ç·šãŒã‚ã‚‹ã“ã¨ã‹ã‚‰ï¼Œé«˜æž¶ã‚ã‚‹ã„ã¯åœ°ä¸‹ã®ã„ãšã‚Œã‹ã«å…¨ç·šã‚’æ•·è¨ã™ã‚‹ã“ã¨ã¯ä¸å¯èƒ½ã§ã‚る.ãã“ã§ï¼Œè·¯ç·šã®ä¸€éƒ¨ã‚’高架ã«ï¼Œæ®‹ã‚Šã®éƒ¨åˆ†ã‚’地下ã«æ•·è¨ã™ã‚‹ã“ã¨ã«ã—ãŸï¼Žã“ã®ã¨ã,新路線ãŒè‡ªç¤¾ã®æ—¢å˜è·¯ç·šã¨äº¤ã‚ã‚‹ã¨ã“ã‚ã§ã¯ï¼Œæ–°è·¯ç·šã¨æ—¢å˜è·¯ç·šã¨ã®é–“ã®ä¹—り継ãŽã‚’便利ã«ã™ã‚‹ãŸã‚,既å˜è·¯ç·šãŒé«˜æž¶ãªã‚‰ã°æ–°è·¯ç·šã‚‚高架ã«ï¼Œæ—¢å˜è·¯ç·šãŒåœ°ä¸‹ãªã‚‰ã°æ–°è·¯ç·šã‚‚地下を走るよã†ã«ã™ã‚‹ï¼Žã¾ãŸï¼Œæ–°è·¯ç·šãŒä»–社ã®æ—¢å˜è·¯ç·šã¨äº¤ã‚ã‚‹ã¨ã“ã‚ã§ã¯ï¼Œä»–社ã«ã‚ˆã‚‹å¦¨å®³ã‚’ã•ã‘ã‚‹ãŸã‚,既å˜è·¯ç·šãŒé«˜æž¶ãªã‚‰ã°æ–°è·¯ç·šã¯åœ°ä¸‹ã«ï¼Œæ—¢å˜è·¯ç·šãŒåœ°ä¸‹ãªã‚‰ã°æ–°è·¯ç·šã¯é«˜æž¶ã‚’走るよã†ã«ã™ã‚‹ï¼ŽA 駅ãŠã‚ˆã³ B 駅をãã‚Œãžã‚Œé«˜æž¶ã‚ã‚‹ã„ã¯åœ°ä¸‹ã®ã„ãšã‚Œã«è¨ã‘ã‚‹ã‹ã¯ç‰¹ã«å•ã‚ãªã„.
当然ã®ã“ã¨ãªãŒã‚‰ï¼Œæ–°è·¯ç·šãŒé«˜æž¶ã‹ã‚‰åœ°ä¸‹ã«ï¼Œã‚ã‚‹ã„ã¯åœ°ä¸‹ã‹ã‚‰é«˜æž¶ã«ç§»ã‚‹ã¨ã“ã‚ã«ã¯å‡ºå…¥å£ã‚’è¨ã‘ãªã‘ã‚Œã°ãªã‚‰ãªã„.ã¨ã“ã‚ãŒï¼Œå‡ºå…¥å£ã‚’è¨ã‘ã‚‹ãŸã‚ã«ã¯è²»ç”¨ãŒã‹ã‹ã‚‹ãŸã‚,新路線ã«è¨ã‘る出入å£ã®å€‹æ•°ã¯æœ€å°é™ã«æŠ‘ãˆãŸã„.ãã‚Œã«ã¯ï¼Œãƒ—ãƒã‚°ãƒ©ãƒžã§ã‚ã‚‹ã‚ãªãŸã®åŠ©ã‘ã‚’è¦ã™ã‚‹ã¨è€ƒãˆãŸ Nate ã¯ï¼Œã‚ãªãŸã‚’å½¼ã®ä¼šç¤¾ã«å‘¼ã³å‡ºã—ãŸï¼Ž
ã‚ãªãŸã®ä»•äº‹ã¯ï¼ŒA 駅,B 駅ã®ä½ç½®ï¼Œãã—ã¦æ—¢å˜è·¯ç·šã«é–¢ã™ã‚‹æƒ…å ±ãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ãã«ï¼Œæ–°è·¯ç·šã«ãŠã„ã¦æœ€ä½Žé™è¨ã‘ãªã‘ã‚Œã°ãªã‚‰ãªã„出入å£ã®å€‹æ•°ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã™ã‚‹ã“ã¨ã§ã‚る.
以下ã®å›³ã¯ï¼Œã‚µãƒ³ãƒ—ルã¨ã—ã¦ä¸ŽãˆãŸå…¥åŠ›ãŠã‚ˆã³å‡ºåŠ›ã®å†…容を示ã—ãŸã‚‚ã®ã§ã‚る.
入力ã®å…ˆé è¡Œã«ã¯å˜ä¸€ã®æ£ã®æ•´æ•°ãŒå«ã¾ã‚Œï¼Œã“ã‚Œã¯ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã®å€‹æ•°ã‚’表ã™ï¼Žãã‚Œãžã‚Œã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã¯æ¬¡ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
xa ya xb ybãŸã ã—,(xa,ya) ãŠã‚ˆã³ (xb,yb) ã¯ãã‚Œãžã‚Œ A 駅,B 駅ã®åº§æ¨™ã‚’表ã™ï¼ŽN ã¯æ—¢å˜è·¯ç·šã®æ•°ã‚’表㙠100 以下ã®æ£ã®æ•´æ•°ã§ã‚る.(xsi,ysi) ãŠã‚ˆã³ (ysi,yti) 㯠i 番目ã®æ—¢å˜è·¯ç·šã«ãŠã‘る始点ãŠã‚ˆã³çµ‚点ã®åº§æ¨™ã‚’表ã™ï¼Žoi 㯠i 番目ã®æ—¢å˜è·¯ç·šã®æ‰€æœ‰è€…を表ã™æ•´æ•°ã§ã‚る.ã“れ㯠1 ã¾ãŸã¯ 0 ã®ã„ãšã‚Œã‹ã§ã‚り,1 ã¯ãã®è·¯ç·šãŒè‡ªç¤¾æ‰€æœ‰ã§ã‚ã‚‹ã“ã¨ã‚’,0 ã¯ä»–社所有ã§ã‚ã‚‹ã“ã¨ã‚’ãã‚Œãžã‚Œè¡¨ã™ï¼Žli 㯠i 番目ã®æ—¢å˜è·¯ç·šãŒé«˜æž¶ã¾ãŸã¯åœ°ä¸‹ã®ã„ãšã‚Œã«ã‚ã‚‹ã‹ã‚’表ã™æ•´æ•°ã§ã‚る.ã“れも 1 ã¾ãŸã¯ 0 ã®ã„ãšã‚Œã‹ã§ã‚り,1 ã¯ãã®è·¯ç·šãŒé«˜æž¶ã«ã‚ã‚‹ã“ã¨ã‚’,0 ã¯åœ°ä¸‹ã«ã‚ã‚‹ã“ã¨ã‚’ãã‚Œãžã‚Œè¡¨ã™ï¼Ž
n
xs1 ys1 xt1 yt1 o1 l1
xs2 ys2 xt2 yt2 o2 l2
...
xsn ysn xtn ytn on ln
入力ä¸ã«ç¾ã‚Œã‚‹ x 座標ãŠã‚ˆã³ y 座標ã®å€¤ã¯ -10000 ã‹ã‚‰ 10000 ã®ç¯„囲ã«ã‚る(両端も範囲ã«å«ã¾ã‚Œã‚‹ï¼‰ï¼Žã¾ãŸï¼Œãã‚Œãžã‚Œã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ãŠã„ã¦ï¼Œæ–°è·¯ç·šã‚’å«ã‚ãŸå…¨ã¦ã®è·¯ç·šã«å¯¾ã—ã¦ï¼Œä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã¨ä»®å®šã—ã¦ã‚ˆã„.ã“ã“㧠2 点ãŒéžå¸¸ã«è¿‘ã„ã¨ã¯ï¼Œãã® 2 点間ã®è·é›¢ãŒ 10-9 以下ã§ã‚ã‚‹ã“ã¨ã‚’表ã™ï¼Ž
ãã‚Œãžã‚Œã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«å¯¾ã—ã¦ï¼Œæœ€ä½Žé™è¨ã‘ãªã‘ã‚Œã°ãªã‚‰ãªã„出入å£ã®å€‹æ•°ã‚’ 1 è¡Œã«å‡ºåŠ›ã—ãªã•ã„.
2 -10 1 10 1 4 -6 2 -2 -2 0 1 -6 -2 -2 2 1 0 6 2 2 -2 0 0 6 -2 2 2 1 1 8 12 -7 -3 8 4 -5 4 -2 1 1 4 -2 4 9 1 0 6 9 6 14 1 1 -7 6 7 6 0 0 1 0 1 10 0 0 -5 0 -5 10 0 1 -7 0 7 0 0 1 -1 0 -1 -5 0 1
1 3