ï¼è¬Žã®å·¨å¤§ã‚¯ãƒ©ã‚²ã€ コードãƒãƒ¼ãƒ 「ãªâ—¯ã‚Šã€ã‚’討ä¼ã›ã‚ˆï¼
「ãªâ—¯ã‚Šã€ã¯éžå¸¸ã«ç”Ÿå‘½åŠ›ãŒå¼·ã„ãŸã‚ã€ç´ æ—©ã切æ–ã—続ã‘ãªã‘ã‚Œã°ã€ã‚ã£ã¨ã„ã†é–“ã«å¾©æ´»ã—ã¦ã—ã¾ã†ã€‚ 我々ã¯ã€ã€Œãªâ—¯ã‚Šã€ã‚’ã©ã®ã‚ˆã†ã«åˆ‡æ–ã™ã‚‹ã®ãŒåŠ¹çŽ‡è‰¯ã„ã®ã‹ã€æ—¥ã€…試行錯誤ã—ã¦ã„る。 ãã®éŽç¨‹ã§ã€ã‚ãªãŸæ–¹ãƒ—ãƒã‚°ãƒ©ãƒžã®æ‰‹ãŒå¿…è¦ã«ãªã£ãŸã€‚
「ãªâ—¯ã‚Šã€ã¯ N é ‚ç‚¹ã¨ N 辺ã‹ã‚‰ãªã‚‹é€£çµãªç„¡å‘グラフã§è¡¨ç¾ã§ãる。 以é™ã€å„é ‚ç‚¹ãŒ 1 ã‹ã‚‰ N ã®ç•°ãªã‚‹æ•°ã§åå‰ä»˜ã‘られã¦ã„ã‚‹ã¨ã—よã†ã€‚
我々ã¯ã€ã€Œãªâ—¯ã‚Šã€ã«é–¢ã—㦠Q 回ã®è³ªå•ã‚’è¡Œã†ã€‚ ãれらã™ã¹ã¦ã«ç”ãˆã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦æ¬²ã—ã„。
質å•ã¯ 1 ã‹ã‚‰ Q ã®ç•ªå·ã‚’æŒã¡ã€å„質å•ã¯æ¬¡ã®ã‚ˆã†ã«æ§‹æˆã•ã‚Œã‚‹ã€‚
ã“ã“ã§ã€é ‚点 u 㨠v ãŒéžé€£çµã§ã‚ã‚‹ã¨ã¯ã€ u 㨠v ã‚’è¡Œãæ¥ã§ãる経路ãŒå˜åœ¨ã—ãªã„ã“ã¨ã‚’指ã™ã€‚
N u_1 v_1 u_2 v_2 ... u_N v_N Q a_1 b_1 a_2 b_2 ... a_Q b_Q
入力ã¯ã™ã¹ã¦æ•´æ•°ã§ã‚る。
1 行目ã«ã¯é ‚点数 N ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ 続ã N è¡Œã®ã†ã¡ i 行目ã«ã¯ã€i 番目ã®è¾ºãŒç¹‹ã 2 é ‚ç‚¹ã®ç•ªå· u_i, v_i ãŒç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
次ã«ã€è³ªå•ã®å›žæ•° Q ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ 続ã Q è¡Œã®ã†ã¡ i 行目ã«ã¯ã€i 番目ã®è³ªå•ã§æŒ‡å®šã•ã‚Œã‚‹ 2 é ‚ç‚¹ã®ç•ªå· a_i, b_i ãŒç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
出力㯠Q è¡Œã‹ã‚‰ãªã‚‹ã€‚ i 行目ã«ã¯ã€a_i 㨠b_i ã‚’éžé€£çµã«ã™ã‚‹ãŸã‚ã«ã€å‰Šé™¤ã™ã‚‹å¿…è¦ã®ã‚る辺ã®æœ€å°æœ¬æ•°ã‚’表ã™æ•´æ•°ã‚’出力ã›ã‚ˆã€‚
3 1 2 1 3 2 3 1 1 3
2
7 1 2 1 6 3 5 2 5 5 4 1 4 3 7 3 2 4 3 1 6 7
2 1 1