#P16525. [Dapc2025]Landgrave

[Dapc2025]Landgrave

题目描述

给定平面上 nn 座高塔的坐标。

你需要选择其中若干座高塔,并按照某个顺序用线段依次连接,相邻线段首尾相接,最后一座高塔再与第一座高塔连接,从而形成一个多边形城堡。

城堡必须满足:

  1. 城墙围成一个单一的连通区域;
  2. 任意两堵相邻城墙在高塔处形成的内角均不小于 9090^\circ

你不需要使用所有高塔,也不需要最大化城堡面积或使用的高塔数量。只需找到任意一个满足条件的多边形即可。

下图展示了样例 3 的一种可行方案。

样例 3 的一种城堡方案

输入格式

第一行输入一个整数 nn,表示高塔数量。

接下来 nn 行,每行输入两个整数 x,yx,y,表示一座高塔的坐标。

输入保证任意两座高塔的坐标不同。

输出格式

如果无法修建满足条件的城堡,输出一行:

impossible

否则,输出:

  • 第一行一个整数 kk,表示使用的高塔数量;
  • 第二行输出 kk 个整数,表示这些高塔在输入中的编号。

编号应按照城堡边界上的顺时针顺序或逆时针顺序给出。

如果某座高塔恰好位于另外两座被选高塔之间的城墙线段上,那么是否把该高塔加入输出均可。

如果存在多个可行方案,输出任意一个即可。

本题采用 Special Judge。

数据范围

对于全部数据:

  • 3n30003\le n\le 3000
  • x,y109|x|,|y|\le 10^9
  • 任意两座高塔坐标不同。

样例 1

5
0 0
1 0
-1 0
0 1
0 -1
4
2 4 3 5

样例 2

6
0 2
0 -2
-3 0
-1 0
1 0
3 0
impossible

样例 3

8
1 0
5 0
3 1
0 2
6 2
2 3
4 3
3 6
7
1 2 5 7 3 6 4