news 2026/7/28 14:33:32

poj1265 -- Area(皮克定理)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
poj1265 -- Area(皮克定理)

题目链接:
http://poj.org/problem?id=1265

题目大意:
一个机器人每次给出移动的dx和dy,然后让你求出这个多边形的边经过的整点数和包围的点数,还有这个多边形的面积。

解题思路:
1,对于一条直线上的整点坐标数量为gcd(x2-x1, y2-y1)
2,多边形面积求法就是找一个源点,求所有与源点相连的两个点的向量积的和,然后除以2就是多边形了面积了。
3,皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形的面积。所以如果我们求内部点的数量的话,将公式转换一下就行了。

实现代码:

#include <iostream> #include <cmath> using namespace std; const int MAX_N = 200; struct Node { double x, y; }; struct Node p[MAX_N]; int gcd(int a, int b) { if (b == 0) { return a; } else { return gcd(b, a%b); } } double slove(struct Node x, struct Node y) { return x.x*y.y - x.y*y.x; } int main() { ios::sync_with_stdio(false); int t; cin >> t; for (int q=1; q<=t; q++) { int n; int ans = 0; double area = 0; int point_num = 0; cin >> n; for (int i=1; i<=n; i++) { int dx, dy; cin >> dx >> dy; p[i].x = p[i-1].x+dx; p[i].y = p[i-1].y+dy; ans+=gcd(abs(dx), abs(dy)); area+=slove(p[i], p[i-1]); } area/=2; if (area<0) { area = fabs(area); } point_num = int(area + 1 - ans/2.0); printf("Scenario #%d:\n%d %d %0.1lf\n", q, point_num, ans, area); printf("\n"); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 14:33:26

物联网设备电池管理:动态阻抗匹配与低功耗优化

1. 项目背景与核心挑战在物联网终端设备和便携式医疗设备领域&#xff0c;不可充电的初级电池&#xff08;如锂亚硫酰氯电池、CR2032纽扣电池&#xff09;因其高能量密度、低自放电率和长储存寿命等特性&#xff0c;成为许多低功耗设备的首选电源方案。然而这类电池存在一个致命…

作者头像 李华
网站建设 2026/7/28 14:31:52

机器人实时运动规划中的加加速度约束挑战与Ruckig解决方案

机器人实时运动规划中的加加速度约束挑战与Ruckig解决方案 【免费下载链接】ruckig Motion Generation for Robots and Machines. Real-time. Jerk-constrained. Time-optimal. 项目地址: https://gitcode.com/gh_mirrors/ru/ruckig 在机器人控制和自动化系统中&#xf…

作者头像 李华
网站建设 2026/7/28 14:31:07

Maven 常用的jar包依赖

pom.xmljar包版本控制<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target><spring.versi…

作者头像 李华
网站建设 2026/7/28 14:29:41

特征工程方法论梳理

文章目录概论引言特征工程特征工程概念特征工程相关资料搜索特征工程过程概论 机器学习算法及应用场景不断更新变化&#xff0c;也意味着也必须跟得上学术及大牛的脚步&#xff0c;在这条路上迈着魔鬼的步伐不断前进&#xff0c;不敢停歇。 知识的更新需要随时记录&#xff0c…

作者头像 李华
网站建设 2026/7/28 14:28:23

SpringMVC实现文件上传

SpringMVC实现文件上传 一、文件上传的必要前提 1、form表单的enctype取值必须是&#xff1a;multipart/from-data &#xff08;一般情况下的默认值是&#xff1a;application/x-www-form-urlencoded&#xff09; ​ enctype:是表单请求正文的类型 2、method属性取值必须是Pos…

作者头像 李华
网站建设 2026/7/28 14:26:26

机器学习:数据预处理之独热编码(One-Hot)

数据预处理之独热编码(One-Hot&#xff09; 转载https://www.imooc.com/article/35900 在机器学习算法中&#xff0c;我们经常会遇到分类特征&#xff0c;例如&#xff1a;人的性别有男女&#xff0c;祖国有中国&#xff0c;美国&#xff0c;法国等。 这些特征值并不是连续的…

作者头像 李华