HDU2036 改革春风吹满地(求多变形面积)
来源:互联网 发布:js 同时请求 编辑:程序博客网 时间:2024/04/29 04:29
cout<<12345.0<<endl;//输出12345
//cout<<fixed<<setprecision(2)<<123.456<<endl;/*如果在这个位置就加上fixed的话,后面的输出全部都按照fixed处理*/
cout << setprecision(4)<< 3.1415926 << endl;//输出的结果是3.142
cout<<setprecision(3)<<12345.0<<endl;//输出的结果是 "1.23e+004 "
cout<<fixed<<setprecision(2)<<123.456<<endl;//输出的结果是123.46,要进行四舍五入
cout<<showpoint<<12345.0<<endl;//输出12345.0
解:
无论三角形的顶点位置如何,△PMN总可以用一个直角梯形(或矩形)和两个直角三角形面积的和差来表示
而在直角坐标系中,已知直角梯形和直角三角形的顶点的坐标,其面积是比较好求的。
下面以一种情形来说明这个方法,其它情形方法一样,表达式也一样(表达式最好加上绝对值,确保是正值)
如图情形(P在上方,M在左下,N在右下),过P作X轴的平行线L,作MA⊥L,NB⊥L(设P在A、B之间)
则A、B的坐标是A(c,b),B(e,b)
所以PA=a-c,PB=e-a,AM=b-d,BN=b-f,AB=e-c
所以S△PMN=S梯形AMNB-S△PAM-S△PBN
=(b-d+b-f)(e-c)/2-(b-d)(a-c)/2-(b-f)(e-a)/2
=(ad+be+cf-af-bc-de)/2
#include<iostream>#include<iomanip>using namespace std;struct node{ int x; int y;};int main(){ int n,i; node a[100]; while(cin>>n&&n){ for(i=0;i<n;i++){ cin>>a[i].x>>a[i].y; } double sum=0; for(i=1;i<n-1;i++){ sum+=(a[0].x*a[i+1].y+a[0].y*a[i].x+a[i+1].x*a[i].y-a[0].x*a[i].y-a[0].y*a[i+1].x-a[i+1].y*a[i].x)/2.0; } cout<<fixed<<setprecision(1)<<-sum<<endl; } return 0;}
0 0
- HDU2036 改革春风吹满地(求多变形面积)
- hdu2036 改革春风吹满地 (求多边形面积,叉积)
- hdu2036 改革春风吹满地(不规则图形求面积)
- hdu2036改革春风吹满地(多边形面积)
- HDU2036:改革春风吹满地
- hdu2036 改革春风吹满地
- hdu2036 改革春风吹满地
- HDU2036 改革春风吹满地
- hdu2036 改革春风吹满地
- HDU2036 改革春风吹满地
- HDU2036 改革春风吹满地
- hdu2036(改革春风吹满地)
- hdu2036 改革春风吹满地
- hdu2036 改革春风吹满地
- hdu2036改革春风吹满地
- HDU2036 改革春风吹满地
- HDU2036 改革春风吹满地
- HDU2036:改革春风吹满地
- 常用 SQL 随笔
- mysql注册服务
- 服务器端表格控件嵌套HTML元素获取解决方案
- iPhone 6s 要删除核心功能了,你希望是哪一项?
- python 找某个文件夹下第多少个文件
- HDU2036 改革春风吹满地(求多变形面积)
- Cannot refer to a non-final variable mylis inside an inner class defined in a different method
- 华为HCNA教程(笔记)
- 广播机制(二)
- windows server 2008 iis 搭建asp
- javascript 正则表达式提取数字使用
- HTTP简单介绍
- 【黑马程序员】---java基础---内部类、异常
- 主库插入数据从库无法同步