HDU-2306 (多边形求面积)

原创 2018年04月16日 20:38:22
“ 改革春风吹满地, 
不会AC没关系; 
实在不行回老家, 
还有一亩三分地。 
谢谢!(乐队奏乐)” 

话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题目,也是云里雾里,而且,还竟然来这么几句打油诗。 
好呀,老师的责任就是帮你解决问题,既然想种田,那就分你一块。 
这块田位于浙江省温州市苍南县灵溪镇林家铺子村,多边形形状的一块地,原本是linle 的,现在就准备送给你了。不过,任何事情都没有那么简单,你必须首先告诉我这块地到底有多少面积,如果回答正确才能真正得到这块地。 
发愁了吧?就是要让你知道,种地也是需要AC知识的!以后还是好好练吧... 
Input输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2... xn, yn),为了简化问题,这里的所有坐标都用整数表示。 
输入数据中所有的整数都在32位整数范围内,n=0表示数据的结束,不做处理。 
Output对于每个测试实例,请输出对应的多边形面积,结果精确到小数点后一位小数。 
每个实例的输出占一行。 
Sample Input
3 0 0 1 0 0 1
4 1 0 0 1 -1 0 0 -1
0
Sample Output
0.5
2.0

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
struct point
{
    int x;
    int y;
}p[120];
int main()
{
    int n,i,sum;
    while(~scanf("%d",&n))
    {
        if(n==0)break;
        for(i=0;i<n;i++)
        {
            scanf("%d %d",&p[i].x,&p[i].y);
        }
        sum=0;
        for(i=0;i<n;i++)
        {
            if(i!=n-1)
                sum+=p[i].x*p[i+1].y-p[i].y*p[i+1].x;
            else sum+=p[n-1].x*p[0].y-p[n-1].y*p[0].x;
        }
        printf("%.1lf\n",0.5*(double)abs(sum));
    }
    return 0;
}

Linux 传奇

 作者:葛林?穆迪译者: 杜默 《Linux 传奇》速记电算界变革,缕述「自由」软体兴起,成为 Windows 2000 与所有专属软体之外的另类选择的经纬,由内而外描述开放原始码如何从一开始只一个颇...
  • jiangtao
  • jiangtao
  • 2001-05-26 10:11:00
  • 3353

求多边形面积公式(已知顶点坐标)

下面介绍一种求多边形面积的方法 首先已知各定点的坐标分别为(x1,y1),(x2,y2),(x3,y3)。。。,(Xn,Yn) 则该多边形的面积公式为 s=1/2*[(x1*y2-x2*y1)+...
  • tianyuhang123
  • tianyuhang123
  • 2017-02-21 00:43:00
  • 1540

c++如何求任意多边形的面积

由于项目需要,求解任意不规则多边形的面积 ,想了很久,也不知道怎么叙述,直接代码展示吧#include #include using namespace std; struct Point///...
  • qq_31839479
  • qq_31839479
  • 2016-11-09 19:26:36
  • 1746

任意多边形的面积计算

任意给出一个三角形ΔABC,设其顶点坐标分别为A(x1, y1),B(x2, y2),C(x3, y3),那么根据线性代数的知识,ΔABC的有向面积可表示为: 其中,ΔABC顶点A、B、C逆时针给...
  • LemonGirl131
  • LemonGirl131
  • 2016-04-12 09:56:48
  • 5454

多边形相交面积计算模版

/* 类型:多边形相交面积模板 */ #include #include #include #include #include using namespace std; #define ma...
  • Bcwan_
  • Bcwan_
  • 2016-09-05 00:49:05
  • 1579

已知多边形各顶点的坐标,求多边形面积

正多边形内角计算公式与半径无关  要已知正多边形边数为N 内角和=180(N-2)  半径为R  圆的内接三角形面积公式:(3倍根号3)除以4再乘以R方  外切三角形面积公式:3倍根号3 R方  外切...
  • slime_kirito
  • slime_kirito
  • 2015-04-10 17:29:23
  • 2086

公布计算任意多边形相交部分的面积的方法

最近开发过程中遇到了这个问题,费了好大的劲才搞定,贴出来跟大家分享         假设lpVertex1[]里存放着多边形1的顶点,nVertexCount1为多边形1的顶点数     lp...
  • he_hawk
  • he_hawk
  • 2007-04-04 10:23:00
  • 4747

求任意多边形面积-有向面积

给定多边形的顶点坐标(有序),让你来求这个多边形的面积,你会怎么做? 我们知道,任意多边形都可以分割为N个三角形,所以,如果以这为突破点,那么我们第一步就是把给定的多边形,分割为数个三角形,分别求面...
  • tigercoder
  • tigercoder
  • 2017-04-13 20:15:30
  • 2861

已知坐标求多边形面积

思路   已知三角形坐标求
  • nuanxin_520
  • nuanxin_520
  • 2014-11-10 21:18:32
  • 1451

matlab求两幅图像指定多边形的相交面积

BWa = roipoly(imgs,Xa,Ya); BWb = roipoly(imgs,Xb,Yb); overlap = and(BWa,BWb); 而且为什么要做差值...
  • zhrh0096
  • zhrh0096
  • 2013-04-10 22:37:15
  • 1782
收藏助手
不良信息举报
您举报文章:HDU-2306 (多边形求面积)
举报原因:
原因补充:

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