Problem Description
“ 改革春风吹满地,
不会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

题解:

计算几何傻逼题哈,直接叉一下鸡即可,四边形面积拆成三角形取计算,面积为叉积和一半

注意面积为有向面积,但给出方向一定,点如果是顺时针给出有向面积为负,逆时针给出,有向面积为正 累加即可 最后取abs

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <cstdio>
 6 #include <cmath>
 7 using namespace std;
 8 struct P{
 9     double x,y;
10     P(){}
11     P(int _x,int _y){x=_x;y=_y;}
12    P operator -(P a)const{
13         return P(x-a.x,y-a.y);
14     }
15     int operator *(P a)const{
16         return x*a.y-a.x*y;
17     }
18 };
19 void work(){
20     P a,b,c;int n;double ans=0;
21     while(scanf("%d",&n)){
22         if(!n)break;
23         scanf("%lf%lf%lf%lf%lf%lf",&a.x,&a.y,&b.x,&b.y,&c.x,&c.y);
24         ans=(b-a)*(c-a);
25         for(int i=4;i<=n;i++){
26             b=c;
27             scanf("%lf%lf",&c.x,&c.y);
28             ans+=(b-a)*(c-a);
29         }
30         ans=fabs(ans/2);
31         printf("%.1lf\n",ans);
32     }
33 }
34 int main()
35 {
36     work();
37     return 0;
38 }

转载于:https://www.cnblogs.com/Yuzao/p/7252165.html

HDU2036 改革春风吹满地相关推荐

  1. HDU2036 改革春风吹满地【多边形面积】

    改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  2. HDU-2036 改革春风吹满地(计算几何)

    多边形面积公式 如果逆时针给出点坐标,值为正, 如果顺时针给出点坐标,值为负. 包括凸凹多边形 实质为==第一个点与第二个点 第二个点与第三个点 一直到第n个点与第一个点的 叉乘 == 的和. &qu ...

  3. HDU2036:改革春风吹满地

    Problem Description " 改革春风吹满地, 不会AC没关系; 实在不行回老家, 还有一亩三分地. 谢谢!(乐队奏乐)" 话说部分学生心态极好,每天就知道游戏,这次 ...

  4. HDU--2036改革春风吹满地

    改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. ACM-计算几何之改革春风吹满地——hdu2036

    改革春风吹满地 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2036 Problem Description " 改革春风吹满地, 不会AC没关 ...

  6. 【HDU2036】改革春风吹满地

    题目:改革春风吹满地 题意: 计算几何:求多边形面积. 解析:        任选一个点(最好是多边形上的顶点),从该点出发,链接多边形上所有的顶点,这样就将多边形分成了多个三角形,再计算每个三角形面 ...

  7. 杭电2036——改革春风吹满地

    杭电2036--改革春风吹满地 题目链接 思路:求多面形面积公式S=1/2*[(x1y2-x2y1)+(x2y3-x3y2)+- +(XkYk+1-Xk+1Yk)+-+(Xny1-x1Yn) ],点的 ...

  8. Hdoj 2036.改革春风吹满地 题解

    Problem Description " 改革春风吹满地, 不会AC没关系; 实在不行回老家, 还有一亩三分地. 谢谢!(乐队奏乐)" 话说部分学生心态极好,每天就知道游戏,这次 ...

  9. HDU 2036改革春风吹满地(有向面积的介绍)

    改革春风吹满地 HDU 2036 改革春风吹满地 总体思想是将多边形的面积分成多个三角形进行计算 有向面积计算 运算规则 有向面积适合三角形的已知三角形的各点坐标进行计算的 向量表示的多边形有向面积计 ...

最新文章

  1. Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY错误
  2. JavaScript实现多项式函数在某个点的评估算法(附完整源码)
  3. 主要版本发布后Java开发人员应使用的15种工具
  4. linux ftp日志_linux学习笔记(一)——Linux分区和目录结构
  5. openlayers5之热力图heatmap
  6. 深度学习_目标检测 R-CNN 论文笔记
  7. mysql游标是什么特性_[转]MySQL游标特性
  8. PL/SQL 调用JAVA使用UDP发送数据
  9. zerorpc java_Zerorpc 支持暴露多个远程Api接口类
  10. 双目估计方法_双目深度估计中的自监督学习概览
  11. 打开前端网页,使用npm run dev报错npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! gmall-admin@1.0.0 dev
  12. 华为机试:提取不重复的整数
  13. java毕业答辩演讲稿,2019毕业答辩演讲稿大全
  14. chloe.mysql_Chloe.ORM框架应用实践
  15. 鹅厂前员工稍微谈谈腾讯
  16. SAP FICO顾问入门
  17. 《HTML5 2D游戏编程核心技术》——第1章,第1.5节开始Snail Bait游戏编程
  18. i9 13900k和i9 13900kf的区别,驰网独家i913900k服务器火热预售中
  19. 吕鑫老师c++资源百度云链接
  20. 计算机主机连接电视机,电脑接电视,小编告诉你电脑如何连接电视机

热门文章

  1. Python暴力破解wifi密码,你看了你也行
  2. 华为机试训练做题总结(四)
  3. java tcp dtu_使用有人DTU设备接入OneNet(基于TCP透传)
  4. VMWARE中WIN7虚拟机安装VMWARE TOOLS提示“安装程序无法自动安装 Virtual Machine Communication Interface Sockets“解决方法
  5. 曙光1620-G20装Windows server 2008教程
  6. OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
  7. 硬件知识:红外感应电路
  8. 如何批量增加视频的音量(ffmpeg)
  9. Python学习之:如何根据经纬度来实现地图的可视化(将这些点在地图上标注出来)
  10. 腾讯推送——信鸽测试