3235:四边形-2

时间限制:8 S   /  内存限制:65536 KB
AC:1   /  Submit:2
问题描述

一个四边形称为凸四边形,如果四个内角都各自小于180°。

给定平面直角坐标系上n个点的坐标,保证其中任意三点不共线。现在想要从中找到尽可能多的四边形(每个点都可以作为顶点被不同的四边形无限次使用,不同的四边形之间可以自由重叠),因为每个四边形都可以为你带来一定的积分。设其中面积最小的四边形的面积为a,积分规则如下:

1、对于每个面积等于a的凸四边形,可以得到4点积分;

2、对于每个面积等于a的非凸四边形,可以得到3点积分;

3、对于每个面积大于a的凸四边形,可以得到2点积分;

4、对于每个面积大于a的非凸四边形,可以得到1点积分。

注意:但凡有内角不同,或有任意边不同,都看作不同的四边形;面积等于最小值的可能不止一个四边形;四边形面积和总积分都需要用长整型表示。

为了得到最多的积分,显然需要找到所有的四边形,并求出对应的积分。

输入描述

多组案例。一个正整数T,表示案例的数量。(T<=40)

每组案例中,先是一个正整数n,表示点的数量。(4<=n<=1000)

然后有n行数据,每行数据有两个整数,表示一个点的横坐标和纵坐标。(坐标范围在-1e9到1e9之间)

任意三个点都保证不共线。

输出描述

针对每组案例,输出一个长整数,表示可能得到的最大积分。

每组案例输出完都要换行。 

样例输入复制样例

4

4

0 0

1 0

0 1

1 1

4

0 0

10 0

5 10

5 8

4

0 0

10 0

5 10

5 3

5

0 0

0 5

5 0

5 5

4 2

样例输出

4

5

7

14

来源
第八届信息学院编程大赛备用题

Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1