【暑期基础2】K HDU 2036 改革春风吹满地(多边形面积)
2015-08-06 12:39
381 查看
题意
已知 n 边形的 n 个定点的坐标,求这个 n 边形的面积。思路
任意一个 n 边形都可以细分为多个小三角形,根据三角形的定点坐标求面积,可以参考百度文库的《 已知三点坐标,求三角形面积 》一文。AC 代码 *
#include <stdio.h> #define MAX 105 int x[MAX], y[MAX]; float area(int c, int d, int e, int f) { int a = x[0]; int b = y[0]; return ( a * d + c * f + b * e - e * d - c * b - a * f ) / 2.0; } int main() { int n, i; float sum; while ( scanf("%d", &n) != EOF && n) { sum = 0; for ( i = 0; i < n; i++) { scanf("%d%d", &x[i], &y[i]); } for( i = 0; i < n - 2; i++){ sum += area(x[i+1], y[i+1], x[i+2], y[i+2]); } printf("%.1f\n", sum); } return 0; }
* 注:在 HUST 的 Virtual Judge 上测试 AC
相关文章推荐
- 一、服务器简介
- 放弃了AC,LABS的机会,选择了未知
- SQLServer2005 CASE WHEN的两种用法
- Binder ServiceManager解析
- 利用栈实现二叉树的后序遍历算法
- GEM5与SystemC混仿结果
- 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸
- MonkeyRunner
- vector使用中的一个疑惑
- 关于返回指针以及动态申请内存
- Codeforces Round #Pi (Div. 2) B Berland National Library
- 软件项目成本法
- HDU 5349 MZL's simple problem(队列)
- excel 关联数据
- AppDelegate.h
- 【暑期基础2】J HDU 2035 人见人爱A^B
- 替换空格
- ABAP 面向对象(Object Orien…
- SAP ERP系统如何通过LS…
- SAP MM Purchase Order里