CF576C.Points on Plane
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
On a plane are n points (x__i, y__i) with integer coordinates between 0 and 106. The distance between the two points with numbers a and b is said to be the following value:
(the distance calculated by such formula is called Manhattan distance).
We call a hamiltonian path to be some permutation p__i of numbers from 1 to n. We say that the length of this path is value
.
Find some hamiltonian path with a length of no more than 25 × 108. Note that you do not have to minimize the path length.
平面上有 n 个点 (xi,yi),其坐标均为介于 0 到 106 之间的整数。编号为 a 和 b 的两点之间的距离定义为如下值:

(按此公式计算出的距离称为曼哈顿距离)。
我们称哈密顿路径为 1 到 n 的某个排列 pi。该路径的长度定义为:

请找出一条长度不超过 25×108 的哈密顿路径。注意:你无需最小化路径长度。
输入格式
The first line contains integer n (1 ≤ n ≤ 106).
The i + 1-th line contains the coordinates of the i-th point: x__i and y__i (0 ≤ x__i, y__i ≤ 106).
It is guaranteed that no two points coincide.
第一行包含一个整数 n(1≤n≤106)。
第 i+1 行包含第 i 个点的坐标:xi 和 yi(0≤xi,yi≤106)。
保证任意两个点不重合。
输出格式
Print the permutation of numbers p__i from 1 to n — the sought Hamiltonian path. The permutation must meet the inequality
.
If there are multiple possible answers, print any of them.
It is guaranteed that the answer exists.
输出从 1 到 n 的数字 p__i 的一个排列——即所求的哈密顿路径。该排列必须满足不等式
。
若存在多个可能的答案,输出其中任意一个即可。
保证答案一定存在。
输入输出样例
输入#1
5 0 7 8 10 3 4 5 0 9 12
输出#1
4 3 1 2 5
说明/提示
In the sample test the total distance is:

(|5 - 3| + |0 - 4|) + (|3 - 0| + |4 - 7|) + (|0 - 8| + |7 - 10|) + (|8 - 9| + |10 - 12|) = 2 + 4 + 3 + 3 + 8 + 3 + 1 + 2 = 26
在样例测试中,总距离为:

(|5 - 3| + |0 - 4|) + (|3 - 0| + |4 - 7|) + (|0 - 8| + |7 - 10|) + (|8 - 9| + |10 - 12|) = 2 + 4 + 3 + 3 + 8 + 3 + 1 + 2 = 26
输入解题思路,AI测评打分。不知道怎么写?