向左走
题号:NC15086
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

taotao去参加一个比赛,场地上有很多竖立的杆子,比赛要求参赛者系上一根无限长的绳子,绳子的另一端连接起点(起点为纵坐标最小的杆子,如果有多个杆子纵坐标最小且相同,取横坐标最小的杆子),从起点出发,经过杆子数最多的参赛者获胜(一个杆子只能经过一次),参赛者移动必须满足以下3个条件

1. 只能向左转

2. 只能走直线

3. 不能经过以前走过的路

taotao应该怎样移动才能使获胜的可能最大?

输入描述:

多组输入不超过10组
第一行输入一个整数n,1<=n<=1,000
接下来n行,每行输入3个整数i,Xi,Yi,分别表示杆子的序号以及杆子的横坐标和纵坐标。1<=i,Xi,Yi<=1,000。没有杆子重合

输出描述:

输出一行,按顺序输出taotao走过的杆子序号,每个序号用空格隔开。
示例1

输入

复制
4
1 3 1
2 7 1
3 5 3
4 5 5

输出

复制
1 2 4 3

说明

样例解释如图1,不会出现图2这种情况
(╯‵□′)╯︵┻━┻画图好麻烦