luogu#P1863. 独眼兔

独眼兔

题目描述

太郎有一只特殊的兔子,它只有一只左眼,所以当它移动时是不能向右转弯的。一天,太郎跟独眼兔做一个游戏,太郎在平面内放了 nn 个萝卜,每个萝卜有个位置 (xi,yi)(x_i,y_i),且任意两个萝卜的 xix_iyiy_i 都是不相同的,独眼兔要去吃这些萝卜。设萝卜 A(xi,yi)A(x_i,y_i) 是所有萝卜中最小的,那独眼兔会从 (0,yi)(0,y_i) 出发,走向萝卜 AA,然后开始吃萝卜。当它吃完一个萝卜后,独眼兔会确定下一个萝卜作为目标,然后径直向萝卜走去,当然当它移动的时候是不能向右转弯的。独眼兔还有一个特点,它走过的路径上会留下特殊的气味,所以独眼兔不希望它将要走的路与前面它走过的路相交。太郎想知道独眼兔如何才能吃到最多的萝卜。

输入格式

第一行是个整数 nn

接下来 nn 行,每行两个整数。第 i+1i+1 行表示第 ii 号萝卜的位置 (xi,yi)(x_i,y_i)

输出格式

一行,输出最多能吃到的萝卜数,后面输出吃萝卜的顺序。

10
4 5
9 8
5 9
1 7
3 2
6 3
10 10
8 1
2 4
7 6

10 8 7 3 4 9 5 6 2 1 10

提示

  • 40%40\% 的数据,n100n\le100
  • 100%100\% 的数据,n1000n\le10000<xi1040\lt x_i\le10^40<yi1040\lt y_i\le10^4