CF576C.Points on Plane

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

On a plane are nn points ( xix_{i} , yiy_{i} ) with integer coordinates between 00 and 10610^{6} . The distance between the two points with numbers aa and bb 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 pip_{i} of numbers from 11 to nn . We say that the length of this path is value .

Find some hamiltonian path with a length of no more than 25×10825×10^{8} . Note that you do not have to minimize the path length.

输入格式

The first line contains integer nn ( 1<=n<=1061<=n<=10^{6} ).

The i+1i+1 -th line contains the coordinates of the ii -th point: xix_{i} and yiy_{i} ( 0<=xi,yi<=1060<=x_{i},y_{i}<=10^{6} ).

It is guaranteed that no two points coincide.

输出格式

Print the permutation of numbers pip_{i} from 11 to nn — 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

    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:

(53+04)+(30+47)+(08+710)+(89+1012)=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

首页