P15527 [ROIR 2015 Day 2] circle 环形线路
题目描述
在安德烈和博里斯生活的城市,地铁由一条唯一的环形线路组成,沿着这条线路,$n$ 个车站按相等距离排列,编号从 $1$ 到 $n$。两个相邻车站之间的路段称为区间。
环形线路的列车可以顺时针或逆时针行驶,因此,为了从一个车站到另一个车站,乘客可以选择经过较少区间的方向。为了从一个车站到另一个车站所需的最少区间数,称为两车站之间的距离。
朋友们注意到,满足以下条件:如果指定一个车站 $X$,并列出两个数字:$D_a$ —— 从安德烈住的车站到车站 $X$ 的距离,$D_b$ —— 从博里斯住的车站到车站 $X$ 的距离,那么得到的数字对 $[D_a, D_b]$ 将唯一地确定车站 $X$。
例如,如果 $n = 4$,安德烈住在车站 $1$,博里斯住在车站 $2$,那么车站 $1$ 由 $[0, 1]$ 来表示,车站 $2$ 由 $[1, 0]$ 表示,车站 $3$ 由 $[2, 1]$ 表示,车站 $4$ 由 $[1, 2]$ 表示。
他们的同学谢尔盖住在邻近的城市,且不知道安德烈和博里斯住在哪些车站。为了找到朋友们,他对有多少对车站 $A, B$ 感兴趣,如果安德烈住在车站 $A$,博里斯住在车站 $B$,能满足上述条件。
**任务**:编写一个程序,根据环形线路上的车站数 $n$,确定符合条件的车站对的数量。
输入格式
输入文件的第一行包含一个整数 $n$ ($3 \leq n \leq 40,000$)。
输出格式
输出文件应该包含一个整数 —— 求得的车站对的数量。
说明/提示
### 示例说明
在第一个例子中,符合条件的车站对如下:
* 安德烈住在车站 $1$,博里斯住在车站 $2$;
* 安德烈住在车站 $1$,博里斯住在车站 $4$;
* 安德烈住在车站 $2$,博里斯住在车站 $1$;
* 安德烈住在车站 $2$,博里斯住在车站 $3$;
* 安德烈住在车站 $3$,博里斯住在车站 $2$;
* 安德烈住在车站 $3$,博里斯住在车站 $4$;
* 安德烈住在车站 $4$,博里斯住在车站 $1$;
* 安德烈住在车站 $4$,博里斯住在车站 $3$。
### 评分系统与子任务描述
#### 子任务 1(25 分)
$3 \leq n \leq 50$
#### 子任务 2(25 分)
$3 \leq n \leq 500$
#### 子任务 3(50 分)
$3 \leq n \leq 40,000$
翻译来源:GPT 5.2。