AT_abc448_f [ABC448F] Authentic Traveling Salesman Problem

题目描述

在一个二维平面上有编号为 $1$ 至 $N$ 的 $N$ 个点。点 $i$ 位于坐标 $(X_i, Y_i)$ 。 你将从点 $1$ 出发,每个位置正好访问一次,然后返回点 $1$ 。 从点 $i$ 移动到点 $j$ 需要 $\vert X_i - X_j \vert + \vert Y_i - Y_j \vert$ 秒。 输出一条从点 $1$ 出发,在 $10^{10}$ 秒内到达所有位置并返回点 $1$ 的路径。保证在给定的数据范围下至少存在一条这样的路线。

输入格式

输入格式如下: > $N$ > > $X_1$ $Y_1$ > $X_2$ $Y_2$ > $\vdots$ > $X_N$ $Y_N$

输出格式

设 $p_i (1 \leq i \leq N)$ 为访问过的 $i$ 个位置,并按以下格式输出答案。 > $p_1$ $p_2$ $\dots$ $p_N$ 如果满足以下所有条件,则认为您的答案是正确的。 - $(p_1, p_2, \dots, p_N)$ 是 $(1, 2, \dots, N)$ 的排列。 - $p_1 = 1$ - 设 $d(i, j)$ 为从位置 $i$ 移动到位置 $j$ 所需的秒数, $\displaystyle \sum_{i=1}^N d(p_i, p_{(i \bmod N) + 1} ) \leq 10^{10}$。 如果有多个正确答案,输出任意一个即可。

说明/提示

#### 数据范围 - $1 \leq N \leq 6 \times 10^4$; - $0 \leq X_i \leq 2 \times 10^7$; - $0 \leq Y_i \leq 2 \times 10^7$; - 如果 $i \neq j$,那么 $(X_i, Y_i) \neq (X_j, Y_j)$; - 所有输入值均为整数。 #### 样例解释 #1 $\displaystyle \sum_{i=1}^N d(p_i, p_{(i \bmod N) + 1}) = 4 + 2 + 4 = 10$ ,因此输出满足条件。