AT_maximum_2013_c 白蛇のお守り
题目描述
很久很久以前,有一位佩戴着白蛇护身符的巫女。她的名字已经失传,如今人们称她为 Miss.Python。某时,村庄中邪恶的幽灵大军肆虐,给村民们带来了巨大的灾难。在这危急时刻,Miss.Python 高举蛇形护身符,护身符突然发出耀眼的光芒,一道光线笔直地射出,接连净化了众多邪灵,最终贯穿并净化了邪灵的首领。当光芒贯穿首领后便消失了。首领被净化后,周围的邪灵也随之消散,村庄得以幸免于难。
你正在暑假的自由研究中调查这个传说。古文献中详细记载了大量邪灵的漂浮位置,其中还包括了 Miss.Python 所在的神社和邪灵首领的位置。
你对护身符的光芒净化了多少邪灵产生了兴趣,决定进行调查。
输入以如下格式从标准输入给出。
关于输入限制已补充说明。
> $N$ $NX$ $NY$ $QX$ $QY$ $WAX_1$ $WAY_1$ $WBX_1$ $WBY_1$ : $WAX_{N-1}$ $WAY_{N-1}$ $WBX_{N-1}$ $WBY_{N-1}$
1. 第 1 行包含整数 $N,\ NX,\ NY,\ QX,\ QY$。
- $N$ 表示邪灵的数量。
- $NX$ 表示 Miss.Python 的 $X$ 坐标。
- $NY$ 表示 Miss.Python 的 $Y$ 坐标。
- $QX$ 表示邪灵首领的 $X$ 坐标。
- $QY$ 表示邪灵首领的 $Y$ 坐标。
- 保证 $1 \leq N \leq 10,\!000$。
- 保证 $-1,\!000 \leq NX, NY, QX, QY \leq 1,\!000$。
- 保证 Miss.Python 和邪灵首领的位置不同。
2. 第 2 行到第 $N$ 行的 $N-1$ 行,每行包含除首领外的一个邪灵的两端点的 $X$ 坐标和 $Y$ 坐标,分别用空格分隔。
- 除首领外的邪灵以线段的形式漂浮在空中。
- $WAX_i$ 表示第 $i$ 个邪灵的端点 $A$ 的 $X$ 坐标。
- $WAY_i$ 表示第 $i$ 个邪灵的端点 $A$ 的 $Y$ 坐标。
- $WBX_i$ 表示第 $i$ 个邪灵的端点 $B$ 的 $X$ 坐标。
- $WBY_i$ 表示第 $i$ 个邪灵的端点 $B$ 的 $Y$ 坐标。
- 保证 $-1,\!000 \leq WAX_i, WAY_i, WBX_i, WBY_i \leq 1,\!000$。
- 保证 $WAX_i \neq WBX_i$ 或 $WAY_i \neq WBY_i$。
- 保证所有邪灵(除首领外)都不会与 Miss.Python 重合。
- 保证所有邪灵(除首领外)都不会与邪灵首领重合。
- 邪灵的两端点坐标均为整数。
请输出护身符的光芒贯穿的邪灵数量(即与光芒相交或接触的邪灵数量),每行输出一个整数。
注意,不考虑护身符的光芒和邪灵的大小,只要光芒与邪灵接触就视为被贯穿。
例如:
```
4 1 1 4 4
1 2 2 1
2 3 3 2
3 4 4 3
```
输出:
```
4
```
输入格式
第 1 行:$N\ NX\ NY\ QX\ QY$
第 2 行到第 $N$ 行:每行 $WAX_i\ WAY_i\ WBX_i\ WBY_i$,共 $N-1$ 行
输出格式
输出一个整数,表示护身符的光芒贯穿的邪灵数量。
说明/提示
- 护身符的光芒是一条从 $(NX, NY)$ 到 $(QX, QY)$ 的直线段。
- 如果光芒与某个邪灵的线段相交或接触,则认为该邪灵被贯穿。
- 不考虑光芒和邪灵的宽度。
- 输入保证所有点坐标均为整数。
由 ChatGPT 4.1 翻译