#AGC019C. [AGC019C] Fountain Walk

[AGC019C] Fountain Walk

题目描述

都市ネバーモアには、108 10^8 本の東西方向の通りと 108 10^8 本の南北方向の通りがあり、どちらにも 0 0 から 1081 10^8-1 の番号が付けられています。隣接する二本の東西方向の通りの間の距離はちょうど 100 100 メートルで、隣接する二本の南北方向の通りの間の距離もちょうど 100 100 メートルです。

すべての東西方向の通りは、すべての南北方向の通りと交わります。すべての交差点は、交差する南北方向の通りの番号を x x 、東西方向の通りの番号を y y として組 (x, y) (x,\ y) で表されます。

この都市には N N 個の噴水があり、交差点 (Xi, Yi) (X_i,\ Y_i) に設置されています。 通常の交差点と異なり、これらの交差点には交差点を中心とした半径 10 10 メートルの円が噴水の外周として描かれており、その内部に道路はありません。

下の図に、都市の一角の道路や噴水の光景の例を示します。

1f931bf0c98ec6f07e612b0282cdb094.png

市長たちは、同じ通りを歩いている間に噴水を二回以上見たくありません。ですから、どの東西方向の通りにも噴水は一つまでしか設置されていませんし、南北方向の通りについても同様です。

市民が通行できるのは東西、南北方向の通りと噴水の外周です。交差点 (x1, y1) (x_1,\ y_1) から (x2, y2) (x_2,\ y_2) に移動するには、最短で何メートル歩く必要があるでしょうか?

输入格式

入力は以下の形式で標準入力から与えられる。

x1 x_1 y1 y_1 x2 x_2 y2 y_2 N N X1 X_1 Y1 Y_1 X2 X_2 Y2 Y_2 : : XN X_N YN Y_N

输出格式

交差点 (x1, y1) (x_1,\ y_1) から (x2, y2) (x_2,\ y_2) に移動するために歩くべき最短距離をメートル単位で出力せよ。出力は、絶対誤差または相対誤差が 1011 10^{-11} を超えなければ正答とみなされる。

题目大意

市长们走在同一条街上不想看到两次以上的喷泉。

因此,无论在哪个东西方向的大街上,只有一个喷泉,关于南北方向的大街也是一样。

市民可以通行的是东西方向、南北方向的大街和喷泉的外周。

要从十字路口(x1,y1)移动到到(x2,y2)的话,最短需要走几米?
两条相邻道路之间的距离为 100100

下图展现了城市一部分的道路和喷泉


只要你的输出与答案的绝对误差不超过 101110^{-11}

1 1 6 5
3
3 2
5 3
2 4
891.415926535897938
3 5 6 4
3
3 2
5 3
2 4
400.000000000000000
4 2 2 2
3
3 2
5 3
2 4
211.415926535897938

提示

制約

  • 0  x1, y1, x2, y2 < 108 0\ \leq\ x_1,\ y_1,\ x_2,\ y_2\ <\ 10^8
  • 1  N  200,000 1\ \leq\ N\ \leq\ 200,000
  • 0  Xi, Yi < 108 0\ \leq\ X_i,\ Y_i\ <\ 10^8
  • i  j i\ \neq\ j のとき Xi  Xj X_i\ \neq\ X_j
  • i  j i\ \neq\ j のとき Yi  Yj Y_i\ \neq\ Y_j
  • 交差点 (x1, y1), (x2, y2) (x_1,\ y_1),\ (x_2,\ y_2) は異なり、これらの位置に噴水は設置されていない。
  • 入力値はすべて整数である。

Sample Explanation 1

最短経路の一つを下の図に示します。スタート地点は青の点、ゴール地点は紫の点、途中経路は赤の線です。 ![c49e52b9b79003f61b8a6efa5dad8ba3.png](https://img.atcoder.jp/agc019/c49e52b9b79003f61b8a6efa5dad8ba3.png)

Sample Explanation 2

![f9090ab734c89424c413f3b583376990.png](https://img.atcoder.jp/agc019/f9090ab734c89424c413f3b583376990.png)

Sample Explanation 3

![4b76416161f27cad20333a9ac636e00f.png](https://img.atcoder.jp/agc019/4b76416161f27cad20333a9ac636e00f.png)