计蒜客 多边形面积(pick定理模板题)
来源:互联网 发布:ps 保留图层导入Ai mac 编辑:程序博客网 时间:2024/06/03 16:36
题目链接:https://www.jisuanke.com/course/615/28223
题目思路:将各个点的坐标按照顺序储存起来,然后再利用分解三角形的方法存储多边形的面积,再利用gcd求解边上点的个数,最后用pick定理求解图形内点的个数
学到的东西:
代码:
#include <bits/stdc++.h>using namespace std;int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}struct Point{ double x; double y;}p[200];double cross(Point a,Point b,Point o){ return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);}double area(int n){ double res=0.0; for(int i=0;i<n-1;i++) res+=cross(p[i],p[i+1],p[0]); return res/2.0;}int main(){ int n;cin>>n; double x=0,y=0; double in=0; double inin=0; for(int i=0;i<n;i++){ double xx,yy; cin>>xx>>yy; if(xx==0||yy==0){ in+=abs(xx)/1+abs(yy)/1; } else in+=gcd(abs(xx),abs(yy)); p[i].x=xx+x,p[i].y=yy+y; x=p[i].x,y=p[i].y; } inin=area(n+1)+1-in/2; printf("%.0f %.0f %.1f",inin,in,area(n+1));}
阅读全文
1 0
- 计蒜客 多边形面积(pick定理模板题)
- pku1265 pick定理 多边形面积
- POJ 1265 Area (Pick定理&多边形面积)
- POJ 1265-Area(多边形面积、边点、内点-pick定理、叉积)
- 【POJ 1265】 Area (Pick定理+叉积求多边形面积)
- POJ 1265 Area pick定理 + 多边形面积求法
- POJ1265 Area (Pick定理,多边形面积,计算几何)
- ZOJ1032-Area 2(已知点坐标求多边形面积,求线段上的整点数量,pick定理)
- poj1265 & poj2954(皮克定理pick)在格点上的多边形求面积公式
- poj 1265 Area(Pick公式 多边形面积 边点数)
- POJ 1265 Area (有向面积, pick 定理)
- POJ 1265 Area(Pick定理、向量积求面积)
- 计蒜客 羊圈(凸包+多边形面积计算模板)
- 计算几何-计算多边形面积(模板)
- 求多边形的面积(模板)
- HDU2036 多边形面积模板
- 任意多边形面积模板
- HDU2036 多边形面积模板
- 洛谷:P1980 计数问题 题解
- 接口--工厂设计模式
- input中的disabled 和 readonly的区别
- 小博客开工啦
- I Hate It HDU
- 计蒜客 多边形面积(pick定理模板题)
- 笔记——最长上升子序列
- JAVA的小知识点
- LightOJ 1282 Leading and Trailing
- Windows Practice_文件搜索器(二)_多线程调试
- poj 3904 莫比乌斯函数灵活运用
- 数据库事物
- csrf js
- 使用NutzDao进行复杂SQL条件查询