アリスã¯ã™ã£ã‹ã‚Šé€€å±ˆã—ã¦ã„ã¾ã—ãŸã€‚ã„ã¤ã‚‚一緒ã«éŠã‚“ã§ã„る白ウサギãŒã€ãƒˆãƒ©ãƒ³ãƒ—城ã¸å‡ºã‹ã‘ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚(ã‚ーã‚ã€ã“ã‚“ãªã“ã¨ãªã‚‰ä¸€ç·’ã«å‡ºã‹ã‘ã‚Œã°ã‚ˆã‹ã£ãŸã‚。)ã¨ã‚¢ãƒªã‚¹ã¯æ€ã„ã¾ã—ãŸã€‚ã‘ã‚Œã©ã‚‚ã€ã“ã“ã¯æªã¿ã®å›½ã€‚ãã†ã‚„ã™ã‚„ã™ã¨å‡ºã‹ã‘ã¦ã¯ã€ã²ã©ã疲れã¦ã—ã¾ã„ã¾ã™ã€‚ã©ã†ã„ã†ã“ã¨ã‹ã¨ã„ã†ã¨â€”
白ウサギã¯å›°ã£ã¦ã„ã¾ã—ãŸã€‚トランプ城ã¸ã®é“ä¸ã€ã¡ã‚‡ã£ã¨ã ã‘é“ã‚’é–“é•ãˆã¦ã—ã¾ã£ãŸã®ã§ã™ã€‚(困ã£ãŸãªã‚。一度戻ã£ã¦ã€é“を良ã知ã£ã¦ã„るアリスã«æ¡ˆå†…ã—ã¦ã‚‚らã†ã“ã¨ã«ã—よã†ã€‚)ã¨ç™½ã‚¦ã‚µã‚®ã¯è€ƒãˆã¾ã—ãŸã€‚ãã‚Œã«ã—ã¦ã‚‚ã€ç™½ã‚¦ã‚µã‚®ã¯ã¨ã£ã¦ã‚‚疲れã¦ã„ã‚‹ã¿ãŸã„。白ウサギã¯æ‡ä¸æ™‚計を見ãªãŒã‚‰ã€
「ãªã‚“ã ã£ã¦ã“ã®å›½ã®é“ã¯ã€é€šã‚‹åº¦ã«é•·ã•ãŒå¤‰ã‚ã£ãŸã‚ˆã†ã«æ„Ÿã˜ã‚‹ã‚“ã ï¼ã“ã®é“ã€ã•ã£ãã¯100メートルãらã„ã«æ„Ÿã˜ãŸã‘ã©ã€ä»Šåº¦ã¯1ã‚ãƒã¯ã‚ã‚‹ã‚“ã˜ã‚ƒãªã„ã‹ï¼Ÿãれもã€é€šã‚ŠæŠœã‘ã‚‹ã®ã«ã‹ã‹ã‚‹æ™‚é–“ã¯ã»ã¨ã‚“ã©å¤‰ã‚ã£ã¦ãªã„ã£ã¦è¨€ã†ã®ã«ï¼ã€
ã¨å«ã‚“ã§ã„ã¾ã™ã€‚ãã†ã€ã“ã“ã¯æªã¿ã®å›½ã€‚ã¾ã•ã«ã€æ™‚々刻々ã¨é“ãŒæªã¿ç¶šã‘ã‚‹ä¸æ€è°ãªå›½ãªã®ã§ã™ã€‚ ã‚„ã£ã¨ã®æ€ã„ã§ã‚¢ãƒªã‚¹ã®å®¶ã«ç€ã„ãŸç™½ã‚¦ã‚µã‚®ãŒé–‹å£ä¸€ç•ªã€
「ã”ã‚んよアリス。トランプ城ã¾ã§ã€é“案内をãŠé¡˜ã„ã§ãã‚‹ã‹ã„。ã€
ã¨è¨€ã†ã¨ã€é€€å±ˆã®ã‚ã¾ã‚Šã‚ªãƒ•ãƒˆã‚¥ãƒ³ã«çªã£ä¼ã—ã¦ã—ã¦ã„ãŸã‚¢ãƒªã‚¹ã¯å…ƒæ°—ã«é£›ã³èµ·ãã¾ã—ãŸã€‚
「もã¡ã‚んよï¼ä¸€ç·’ã«è¡Œãã¾ã—ょã†ï¼ã€
嬉ã—ã„一方ã§ã€ç–²ã‚ŒãŸæ§˜åã®ç™½ã‚¦ã‚µã‚®ã‚’見ã¦ï¼ˆã§ã‚‚ã€ã‚ã¾ã‚Šã«ç–²ã‚Œã¦ã—ã¾ã†ã®ã¯æ‚ªã„ã‚ã。)ã¨æ€ã£ãŸã‚¢ãƒªã‚¹ã¯ã€å®¶ã®å¥¥ã‹ã‚‰æªã¿ã®å›½ã®åœ°å›³ã‚’å–り出ã—ã¦ãã¾ã—ãŸã€‚
「ã•ã‚ã€ãƒˆãƒ©ãƒ³ãƒ—城ã¾ã§ã®ç–²ã‚Œãªã„é“ã®ã‚Šã‚’探ã™ã‚ï¼ã€
 né ‚ç‚¹ã¨m辺ã‹ã‚‰ãªã‚‹ç„¡å‘グラフãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚å„辺iã®ç§»å‹•ã«ã‹ã‹ã‚‹æ™‚é–“ã¯t_iã§è¡¨ã•ã‚Œã‚‹ã€‚ã¾ãŸã€åˆã‚ã®ä½“感移動速度ã¨ã—ã¦v_0ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ãã®å¾Œã€è¾ºã‚’1本通る度ã«ä½“感移動速度ãŒå¤‰åŒ–ã™ã‚‹ã€‚辺をj本通ã£ãŸå¾Œã®ä½“感移動速度ã¯ã€æ•´æ•°a, b, cをパラメータã¨ã—ã¦ä»¥ä¸‹ã®å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
v_j = (a \times v_{j-1} + b) mod c
辺iを速度v_jã§é€šã‚‹ã¨ä½“感移動è·é›¢ãŒt_i \times v_jã¨ãªã‚‹ã€‚ãªãŠã€æªã¿ã®å›½ã§ã¯ä½“感移動速度ãŒ0ã§ã‚‚移動å¯èƒ½ã§ã‚ã‚Šã€ãã®ã¨ãã®ä½“感移動è·é›¢ã¯0ã§ã‚る。
 今ã€é ‚点1ã‹ã‚‰å‡ºç™ºã—é ‚ç‚¹nを経由ã—ã¦é ‚点1ã«æˆ»ã£ã¦ãるよã†ãªçµŒè·¯ã‚’考ãˆã‚‹ã€‚考ãˆã†ã‚‹çµŒè·¯ã®ä¸ã§ä½“感移動è·é›¢ã®ç·å’Œã‚’最å°åŒ–ã›ã‚ˆã€‚
n m x_1 y_1 t_1 ... x_m y_m t_m v_0 a b c
入力ã¯å…¨ã¦æ•´æ•°ã‹ã‚‰ãªã‚‹ã€‚ 1行目ã«ã¯ã€ã‚°ãƒ©ãƒ•ã®é ‚点数ã¨è¾ºæ•°ã‚’表ã™n,mãŒã“ã®é †ã§ç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ 続ãmè¡Œã®ã†ã¡i行目ã«ã¯ã€i番目ã®è¾ºãŒæŽ¥ç¶šã™ã‚‹2é ‚ç‚¹x_i,y_iã¨ã€é€šéŽã™ã‚‹ã®ã«ã‹ã‹ã‚‹æ™‚é–“t_iãŒã“ã®é †ã§ç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ m+2行目ã«ã¯ã€åˆé€Ÿåº¦ã‚’表ã™v_0ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ m+3行目ã«ã¯ã€é€Ÿåº¦ã®è¨ˆç®—å¼ã®ãƒ‘ラメータa,b,cãŒã“ã®é †ã«ç©ºç™½åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
体感移動è·é›¢ã®ç·å’Œã®æœ€å°å€¤ã‚’1è¡Œã«å‡ºåŠ›ã›ã‚ˆã€‚
4 4 1 2 3 2 3 1 2 4 5 3 4 2 5 4 5 6
34
6 5 1 2 1 2 3 100 3 4 2 4 5 200 5 6 1 3 4 5 9
341
通éŽã™ã‚‹ã®ã«æ™‚é–“ãŒã‹ã‹ã‚‹è¾º (2,3) 㨠(4,5) を通るå‰ã«ã€çŸã„時間ã§é€šã‚Œã‚‹é“を往復ã—ã¦ã€ãªã‚‹ã¹ã速度をè½ã¨ã—ãŸæ–¹ãŒä½“感移動è·é›¢ã¯çŸã„。
10 9 1 2 74150933 2 3 13214145 3 4 45636411 4 5 90778512 5 6 85676138 6 7 60913535 7 8 43917556 8 9 47519690 9 10 56593754 33 37 41 47
23049391759
体感移動è·é›¢ãŒéžå¸¸ã«é•·ããªã‚‹å ´åˆã‚‚ã‚る。