F - Herding

Time Limit:1000MS       Memory Limit:32768KB      64bit IO Format:%I64d & %I64u

Submit Status

Description

Little John is herding his father's cattles. As a lazy boy, he cannot tolerate chasing the cattles all the time to avoid unnecessary omission. Luckily, he notice that there were N trees in the meadow numbered from 1 to N, and calculated their cartesian coordinates (Xi, Yi). To herding his cattles safely, the easiest way is to connect some of the trees (with different numbers, of course) with fences, and the close region they formed would be herding area. Little John wants the area of this region to be as small as possible, and it could not be zero, of course.

Input

The first line contains the number of test cases T( T<=25 ). Following lines are the scenarios of each test case.  The first line of each test case contains one integer N( 1<=N<=100 ). The following N lines describe the coordinates of the trees. Each of these lines will contain two float numbers Xi and Yi( -1000<=Xi, Yi<=1000 ) representing the coordinates of the corresponding tree. The coordinates of the trees will not coincide with each other.

Output

For each test case, please output one number rounded to 2 digits after the decimal point representing the area of the smallest region. Or output "Impossible"(without quotations), if it do not exists such a region.

Sample Input

1 4 -1.00 0.00 0.00 -3.00 2.00 0.00 2.00 2.00

Sample Output

2.00

____

水题,直接枚举就可过。。

忘了用EPS 浮点数误差有问题

还有就是卡了一下输入,一开始判断n<3直接就CONTINUE了,这样接下来其他数据会出错。

代码如下:

#include<cstdio>

#include<algorithm>

#include<cmath>

#include<iostream>

using namespace std ;

#define N 110

#define eps 1e-8

struct

{

       doublex,y;

} array[N];

double area( double x1 , double y1 , doublex2 , double y2 ,double x3 , double y3 )

{

       returnfabs( 0.5 * ( x1*y2+x3*y1+x2*y3-x3*y2-x1*y3-x2*y1) ) ;

}

int main()

{

       intt ;

       cin>> t ;

       for(int i = 1 ; i<= t ; i++)

              {

                     intn ;

                     cin>> n ;

                     for(int i = 1 ; i<= n ; i++)

                            cin>> array[i].x >> array[i].y;

                     if(n < 3 )

                            {

                                   cout<<"Impossible" << endl ;

                                   continue;

                            }

                     doublemin = 99999999;

                     intflag = 1;

                     for(int i = 1 ; i <=n; i++)

                            {

                                   for(int j = i+1 ; j<=n ; j++)

                                          {

                                                 for(int k = j+1 ; k<= n; k++)

                                                        {

                                                               doubletemp =  area( array[i].x , array[i].y ,array[j].x,array[j].y,array[k].x,array[k].y) ;

                                                               if(fabs(temp) >= eps && temp <= min)

                                                                      {

                                                                             min= temp ;

                                                                             flag= 0 ;

                                                                      }

                                                        }

                                          }

                            }

                     if(flag == 0 )

                            printf("%.2lf\n",min);

                     else

                            cout<<"Impossible" << endl ;

              }

       return0 ;

}

HDU Herding的更多相关文章

  1. hdu 4709:Herding(叉积求三角形面积+枚举)

    Herding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  2. HDU 4709:Herding

    Herding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  3. hdu - 4709 - Herding

    题意:给出N个点的坐标,从中取些点来组成一个多边形,求这个多边形的最小面积,组不成多边形的输出"Impossible"(测试组数 T <= 25, 1 <= N < ...

  4. HDU 4709 Herding (枚举)

    Herding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  5. hdu 4709 Herding hdu 2013 热身赛

    题意:给出笛卡尔坐标系上 n 个点,n不大于100,求出这些点中能围出的最小面积. 可以肯定的是三个点围成的面积是最小的,然后就暴力枚举,计算任意三点围成的面积.刚开始是求出三边的长,然后求面积,运算 ...

  6. HDU 4709 Herding 几何题解

    求全部点组成的三角形最小的面积,0除外. 本题就枚举全部能够组成的三角形,然后保存最小的就是答案了.由于数据量非常少. 复习一下怎样求三角形面积.最简便的方法就是向量叉乘的知识了. 并且是二维向量叉乘 ...

  7. 【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】

    题意:给出n个点的坐标,问取出其中任意点围成的区域的最小值! 很明显,找到一个合适的三角形即可. #include<iostream> #include<cstdio> #in ...

  8. Herding(hdu4709)三点运用行列式求面积

    Herding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  9. 学习数论 HDU 4709

    经过杭师大校赛的打击,明白了数学知识的重要性 开始学习数论,开始找题练手 Herding HDU - 4709 Little John is herding his father's cattles. ...

随机推荐

  1. ESLint--定制你的代码规则

    简介 ESLint是一个开源的项目,由Nicholas C. Zakas(<JavaScript高级程序设计>作者)于2013年六月创建.它的目标是为JavaScript提供一个完全可配置 ...

  2. HDU--1006

    题目介绍 Problem Description The three hands of the clock are rotating every second and meeting each oth ...

  3. WebStorm、IntelliJ IDEA、JetBrains、PhpStorm、RubyMine、PyCharm

    JetBrains旗下的产品: IntelliJ IDEA偏重于Java开发,旗舰产品,它可以通过(捆绑的或可下载的)插件的方式提供WebStorm和PhpStorm所有的功能.支持Scala和Gro ...

  4. Angularjs中的嵌套路由ui-router

    先看看ng-router和ui-router的区别 (1)ng-route的局限性:一个页面无法嵌套多个视图,也就是说一个页面只能有包含一个页面一个控制器的切换.  (2)ui-route的改进:在具 ...

  5. Linux环境快速部署Zookeeper集群

    一.部署前准备: 1.下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9. 2.将下载的 ...

  6. JQUERY 特殊字符

    //替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, ""));

  7. java中常遇到的问题

    一.乱码问题 =========================================================================================== 方 ...

  8. API HOOK和PE文件的关系

    api hook技术的难点,并不在于hook技术,而在于对PE结构的学习和理解.如何修改api函数的入口地址?这就需要学习pe可执行文件(.exe,.dll等)如何被系统映射到进程空间中,这需要学习p ...

  9. Tomcat 6 跨域的支持

    1.添加2个jar包 这个我是自己保存在云端的 cors-filter-1.7.jar java-property-utils-1.9.jar tomcat7以后自动支持 2.tomcat 下面的we ...

  10. 【转】判断URL是否能够访问

    import urllib2 def file_exists(url): request = urllib2.Request(url) request.get_method = lambda : 'H ...