U605360 最小交通费

题目描述

[参考来源](https://www.ember.ac.cn/post/%E7%AE%97%E6%B3%95%E9%A2%98/nju01/) **(2025年南软/智软开放日机试 T1)** 有一个圆上均匀分布着L个点(编号按逆时针顺序依次为1~L)。在这些点中还存在m条弦。如果在圆弧上从一个点走到另一个相邻的点,需要支付1元的费用;但如果通过弦来走(包括交点),则无需支付费用。 例如,如图所示,如果存在弦(1,3)和(2,4),则从点1到点2可以先从1走到两条弦的交点,再从交点走到2,这样就无需收费。请你设计算法,找出某两个点之间最少的交通费。 ![](https://cdn.ember.ac.cn/images/bed/202507271219886.png)

输入格式

程序的第一行输入三个整数:`L`、`m`、`q`,用空格分隔。 接下来输入m行,每行两个整数,表示一条弦,用空格分隔。 接下来输入q行,每行两个整数,表示q个问题。如“1 2”则表示一个问题,表示点1和2之间的最少交通费。

输出格式

程序的输出为q行,每行为一个问题的答案。

说明/提示

- $L$不超过$3\times 10^8$。 - $m,q$不超过$10^4$。