P10275 [USACO24OPEN] Walking Along a Fence B

题目描述

Farmer John 的 $N$ 头奶牛($1\le N\le 10^5$)每头都喜欢日常沿围着牧场的栅栏散步。 栅栏由 $P$ 根柱子组成($4\le P\le 2\cdot 10^5$,$P$ 为偶数),每根柱子的位置是 FJ 农场地图上的一个不同的二维坐标点 $(x,y)$($0\le x,y\le 1000$)。每根柱子通过垂直或水平线段的栅栏连接到两根相邻的柱子,因此整个栅栏可以被视为各边平行于 $x$ 轴或 $y$ 轴的一个多边形(最后一根柱子连回第一根柱子,确保围栏形成一个包围牧场的闭环)。栅栏多边形是「规则的」,体现在栅栏段仅可能在其端点处重合,每根柱子恰好属于两个栅栏段,同时每两个在端点处相交的栅栏段都是垂直的。 每头奶牛的日常散步都有一个偏好的起始和结束位置,均为沿栅栏的某个点(可能在柱子处,也可能不在)。每头奶牛日常散步时沿着栅栏行走,从起始位置开始,到结束位置结束。由于栅栏形成闭环,奶牛有两条路线可以选择。由于奶牛是一种有点懒的生物,每头奶牛都会选择距离较短的方向沿栅栏行走(如果并列,奶牛可以选择任一方向)。 求每头奶牛行走的距离。

输入格式

输出格式

说明/提示

### 样例解释 第一头奶牛可以直接从 $(0,0)$ 走到 $(0,2)$。 第二头奶牛可以从 $(0,2)$ 走到 $(0,0)$,然后走到 $(1,0)$。 第四头奶牛有两条长度相等的可能路线:$(1,0)\to (0,0)\to (0,2)\to (1,2)$ 和 $(1,0)\to (2,0)\to (2,2)\to (1,2)$。 ### 测试点性质 - 测试点 $2-6$:$0\le x,y\le 100$ 且 $N\le 100$。 - 测试点 $7-11$:没有额外限制。