hdu4709-(三角形-叉乘)

原创 2018年04月16日 20:15:41

Herding

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3319    Accepted Submission(s): 988


Problem 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

这道题目其实挺简单的,读完题目之后就应该想到求的是三角形的最小面积,

在操作时由于数据小,三层循环,就可以解决,三角形的面积可以用叉积来得到

叉乘法:行列式

                |    x1   y1    1     |

S= 0.5* |    x2    y2    1    |

                |    x3    y3    1    |

三阶行列式:  S=  0.5×(    x1y2    -    x1y3    -    x2y1    +    x3y1    +    x2y3    -    x3y2    )

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int T; cin>>T;
    while(T--){
        int n;  double s=-1,minz=9999999,a[105],b[105];  cin>>n;
        for(int i=1;i<=n;i++) scanf("%lf%lf",&a[i],&b[i]);
        if(n<=2){
            printf("Impossible\n");
            continue;
        }
        for(int i=1;i<=n-2;i++)
            for(int j=i+1;j<=n-1;j++){
                for(int k=j+1;k<=n;k++){
                    s=fabs(a[i]*b[j]-a[j]*b[i]+a[k]*b[i]-a[i]*b[k]+a[j]*b[k]-a[k]*b[j])*(0.5);
                    if(s!=0&&s<minz)
                        minz=s;
                }
            }
        if(minz==9999999)
            printf("Impossible\n");
        else
        printf("%.2lf\n",minz);
    }
}

OpenGL

课程涵盖了OpenGL开发的方方面面,对开发中经常用到的开发知识点进行讲解,从实战的角度进行编码设计. 第1章-环境建立 第2章-基础图元 第3章-三维世界 第4章-纹理多彩世界 第5章-显存的分配-优化 第6章-场景控制 第7章-光照-真实世界 第8章-模型 第9章-UI制作 第10章-场景编辑器制作 第11章-地形 第12章-脚本引入-lua
  • 2016年12月24日 20:43

nyist67 三角形面积(叉乘求三角形的面积)

题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=67 思路:任意2边向量的叉积的绝对值的1/2即为三角形的面积 AC代码: #include...
  • qq_25605637
  • qq_25605637
  • 2016-02-15 14:23:47
  • 1040

POJ 2954 Triangle (皮克定理, 三角形叉乘求面积)

皮克定理
  • Tc_To_Top
  • Tc_To_Top
  • 2015-02-02 23:51:08
  • 1650

叉乘法判断点是否在三角形内

叉乘法  沿着三角形的边按顺时针方向走,判断该点是否在每条边的右边(这可以通过叉乘判断),如果该点在每条边的右边,则在三角形内,否则在三角形外。这个算法只用到了三次叉乘,没有除法运算和三角函数、开根...
  • ym19860303
  • ym19860303
  • 2013-09-24 20:20:55
  • 1655

HDU 2036 叉乘求三角形面积

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissio...
  • JJMJeffrey
  • JJMJeffrey
  • 2016-12-10 09:44:03
  • 473

nyoj67 三角形面积 向量叉乘

三角形面积时间限制:3000 ms  |  内存限制:65535 KB难度:2描述给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积输入每行是一组测试数据,有6个整数x1,y1,x2...
  • cao2219600
  • cao2219600
  • 2018-03-22 17:38:27
  • 888

nyist68 三点顺序(用叉乘判断向量的方向)

题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=68 思路: p*q>0,则p在q的顺时针方向 p*q p*q=0,则p与q共线,但可能同...
  • qq_25605637
  • qq_25605637
  • 2016-02-15 14:40:11
  • 1706

叉乘法求三角形的面积及任意多边形面积

原理:将多边形分成多个三角形,而三角形的面积等于其中两条边向量的乘积,多个相加其中有几个约掉 三角形的面积(点(x0,y0)(x1,y1),(x2,y2)) fabs((x1-x0)*(y2-y0)-...
  • springwinter1
  • springwinter1
  • 2009-08-16 11:43:00
  • 688

CSUOJ 1503: 点到圆弧的距离 [叉积+三角形外心]【计算几何】

题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1503 ——————————————————————————————————————...
  • qq_33184171
  • qq_33184171
  • 2017-05-07 11:24:54
  • 477

线性代数笔记4——向量3(叉积)

什么是叉积   向量的叉积也叫外积、向量积、叉乘或矢量积。两个向量的叉积是这样表示的:     在二维空间内,向量A = 1, a2>,B = 1, b2>     其几何意义就是以两个向量...
  • sunbobosun56801
  • sunbobosun56801
  • 2018-01-05 13:52:16
  • 411
收藏助手
不良信息举报
您举报文章:hdu4709-(三角形-叉乘)
举报原因:
原因补充:

(最多只允许输入30个字)