P0930

[Usaco2008 Dec]Largest Fence 最大的围栏

[Usaco2008 Dec]Largest Fence 最大的围栏

农夫约翰购买了 NN 根栅栏柱,准备建造一个美观的栅栏。栅栏必须是一个凸多边形,所选的栅栏柱恰好作为该多边形的顶点。

牧场可以视为一个直角坐标网格,第 ii 根栅栏柱位于整数坐标 (xi,yi)(x_i,y_i)。所有栅栏柱中不存在任意 33 根共线的情况。

请从这些栅栏柱中选出尽可能多的柱子,使它们能够构成一个凸多边形,并求出最多可以选择多少根栅栏柱。

输入格式

第一行包含一个整数 NN,表示栅栏柱的数量。

接下来 NN 行,第 ii 行包含两个以空格分隔的整数 xix_i 和 yiy_i,表示第 ii 根栅栏柱的坐标。

输出格式

输出一个整数,表示能够构成凸多边形的栅栏柱的最大数量。

样例输入

6
5 5
2 3
3 2
1 5
5 1
1 1

样例输出

5

数据范围

  • 5≤N≤2505\le N\le 250;
  • 1≤xi≤1031\le x_i\le 10^3;
  • 1≤yi≤1031\le y_i\le 10^3;
  • 任意 33 根栅栏柱不共线;
  • 对于占总分 45%45\% 的测试数据,N≤65N\le 65。

来源与许可

本题为 USACO 2008 December 试题「Largest Fence 最大的围栏」,题面与测试数据整理自 BZOJ。

样例 1

输入

6
5 5
2 3
3 2
1 5
5 1
1 1

输出

5