【POJ1654】Area【叉积】

U8 API接口开发踩过的坑 阅读详情

题目大意:

题目链接:http://poj.org/problem?id=1654
根据特殊的读入方式得到一个多边形,求这个多边形的面积。


思路:

建 议 先 看 下 文 注 意 事 项 , 谢 谢 ! 建议先看下文注意事项,谢谢! 建议先看下文注意事项,谢谢!
求平面直角坐标系中多边形面积模板题。
设上一个顶点的坐标为 ( x 1 , y 1 ) (x1,y1) (x1,y1),这一个顶点的面积坐标为 ( x 2 , y 2 ) (x2,y2) (x2,y2)。那么以 ( 0 , 0 ) , ( x 1 , y 1 ) , ( x 2 , y 2 ) (0,0),(x1,y1),(x2,y2) (0,0),(x1,y1),(x2,y2)三点组成的三角形面积就是 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x1,y1),(x2,y2) (x1,y1),(x2,y2)两点的叉积的一半。
根据容斥原理,易得该多边形面积就是所有三角形的面积和的绝对值。


代码:

#include <cstdio>
using namespace std;
typedef long long ll;

const int N=1000010;
const ll dx[]={0,1,1,1,0,0,0,-1,-1,-1};
const ll dy[]={0,-1,0,1,-1,0,1,-1,0,1};
int Q,i;
ll ans,x1,x2,y1,y2;

int main()
{
	scanf("%d",&Q);
	while (Q--)
	{
		x1=y1=ans=0;
		while (scanf("%1d",&i)==1&&i!=5)
		{
			x2=x1+dx[i];
			y2=y1+dy[i];
			ans+=(x1*y2-x2*y1);  //叉积
			x1=x2;
			y1=y2;
		}
		if (ans<0) ans=-ans;
		if (ans&1) printf("%lld.5\n",ans/2);
			else printf("%lld\n",ans/2);
	}
	return 0;
}

注意事项

  • 首先 G C C GCC GCC会 c e ce ce, G + + G++ G++会 w a wa wa,不要用这两个编译器。可以使用 C + + C++ C++

  • 最终答案是要取绝对值,但 f a b s fabs fabs用 c + + c++ c++居然会 c e ce ce,所以要手写 a b s abs abs。

  • 因为答案一定是整数或整数除以二,所以用整形存,不能用 f l o a t float float或 d o u b l e double double。

  • 还有答案可能爆 i n t int int,所以要开 l o n g   l o n g long\ long long long。

  • 最坑的是不能所有的变量都开,会 M L E MLE MLE,所以只开跟答案相关的就行。

摘自本题讨论,同时感谢讨论的第一点和第二点救了我。

工程师必看:如何用功率谱密度搞定随机振动测试(附Grms计算实例) 本文为工程师详解如何通过功率谱密度(PSD)曲线计算Grms(总均方根加速度),从而量化随机振动测试的强度。文章拆解了平直谱、斜谱的计算公式,提供了完整的Grms计算实例,并指出了单位换算、对数坐标等常见工程陷阱,帮助工程师精准完成测试准备与设备推力评估。 阅读详情

相关推荐

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8191

POJ1654 Area【多边形的面积】

POJ1654Area http://poj.org/problem?id=1654 题意 在一个网格中,你当前在起始点,然后给你一些数字,每个数字表示你往当前位置的8个方向走一个单位或根号2个单位(斜线...

逐梦者 387

MATLAB基础应用精讲-【数模应用】游程检验(附MATLAB、R语言和python代码实现)

游程检验是一种非参数性统计假设的检验方法,它是游程总数检验和最大游程检验的总称,用于两个独立样本的比较和观测结果随机性的检验测试。​游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行判断的检验方法。[2]例1:设某样本n=12人的标志表现为男、女,有以下三种排列。(i) 男\男,女\女\女,男,女\女,男\男\男\男;(ii) 男\男\男\男\男\男\男,女\女\女\女\女;(iii) 男,女,男,女,男,女,男,女,男,女,男\男;连续出现男或女的区段称为游程。

qq_36130719的博客 608

POJ_1654_Area

<br />//计算几何,求多边形的面积 ///这题精度要求比较大,将多边形拆成一个个三角形,利用向量法求三角形的面积,可以先求 //平行四边形的面积,最后统一除以二得多边形面积。注意按坐标法,面积有可能为负,因为坐标 //法对顺时针和逆时针结果不同,所以最后需要取正。坐标法对处理凹多边形的面积同样奏效。 #include<stdio.h> #include<string.h> #include<math.h> //使用64位的整型_int64,也可以用longlong来表示,输出时用I6

fengyu0556的专栏 599

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9038

政务帮办新范式:基于检索增强与多智能体协同的智能系统实践

本文提出了一种多智能体协同的智能政务系统架构,突破传统方案在状态管理、职责过载和感知闭环方面的局限。系统由中央规划智能体、对话引导智能体、参数提取智能体和执行状态分析智能体组成,通过职责分离与显式状态管理实现高效协同。核心创新在于中央决策引擎的确定性逻辑,采用基于规则的状态机设计,确保系统可靠可控。该架构支持自然语言交互、参数自动提取、业务系统操作和视觉闭环验证,能够真正实现"帮办"功能,显著提升政务服务的智能化水平。

469

poj1654 Area (计算几何)

Area Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18800 Accepted: 5160 Description You are going to compute the area of a special kind of polygon. One verte

随心丶而遇的博客 1725

自定义载板RK3588HDMI输入配置完整解决方案

✅ HDMI输入信号检测✅ 自动时序识别(支持1080p@60Hz等标准格式)✅ V4L2视频设备接口✅ 实时视频流捕获✅ H.264编码录制✅ HDCP内容保护支持问题根因识别:发现了hdmim1模块资源冲突的本质问题硬件设计理解:明确了Orange Pi 5 Plus的真实硬件设计意图功能实现:成功启用HDMI输入功能,替代了无法使用的HDMI1输出完整验证:建立了从硬件检测到视频录制的完整测试流程。

梁俊星的博客 1271

【POJ 1654】 【叉积】Area

【POJ 1654】 【叉积】Area 题目 poj 1654 解题思路 先处理出所有点 每一个多边形都可以被分割成很多个三角形 所以选定一个点,用叉积求出面积再除2的绝对值即为答案(叉积求的是平行四边形面积所以要除2) P.S 面积除2可能出现小数,但叉积必须要用long long不然会爆,所以特殊处理 代码 #include<iostream> #include<cstdio> #include<cmath> using namespace std; str

Y的博客 158

【YOLOv12多模态融合改进】| TFAM:时序融合注意力模块 | 引入通道 - 空间双分支注意力机制,解决双模态特征融合中时序关联不足的问题

TFAM模块通过时序信息驱动的注意力机制,解决了双时相特征融合中时序关联不足的问题,实现了更精准的变化区域定位和特征表示。其结构轻量、泛化性强,为变化检测任务提供了一种高效的特征融合解决方案。

Limiiiing的博客 866

黑猫带你学UFS协议第23篇:UFS固件升级操作详解(FFU)

摘要:本文介绍了UFS固件更新(FFU)的实现方法与注意事项。根据UFS3.1 JEDEC协议,FFU通过write buffer命令(MODE=0Eh)下载FW固件,随后必须进行power cycle或硬件复位生效。文章详细阐述了FFU操作的10条规则,包括数据分片传输要求、寄存器访问限制等,同时指出协议未明确的厂商实现差异。关键寄存器包括bFFUTimeout、bDeviceFFUStatus和fPermanentlyDisableFwUpdate。

黑猫奥利奥的博客 1万+

POJ 1654 Area(叉积计算多边形面积)

题目链接:POJ 1654 Area 计算多边形面积

fobdddf的专栏 1128

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

POJ 1654 Area (叉积求三角形面积)

一不明生物从原点出发,各种绕啊绕,绕啊绕,绕啊绕。。。。。求所绕过的面积。 从原点出发,每走一次,与原点就形成了一个三角形。。他走过的区域,就是这些三角形的和 所以就是算三角形面积了。三点叉积除2就是三角形面积了 //Memory: 1228K //Time: 32MS #include #include #include #include using namespace std

梦世界 winkloud 2384

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

POJ - 1654 Area 【叉积】

You are going to compute the area of a special kind of polygon. One vertex of the polygon is the origin of the orthogonal coordinate system. From this vertex, you may go step by step to the following ...

slass-mot-odet 531

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【poj1654】Area【叉积】

题目大意 一个坐标系,从原点开始走,然后1-4分别代表,向右下走,向右走,向右上走,向下走,5代表回到原点,6-9代表,向上走,向左下走,向左走,向左上走。(看翻译直接无限WA),给出一串包含1-9的字符串,问你这些点所围成的面积 分析 因为输入的都是相邻的点,我们就每次记录一条线段两端的坐标,把这个三角形算出来(叉积/2)。最后取绝对值就可以 上代码 #include<iostream> #include<cstdio> #include<algorithm> #inc

ssllyr 136

poj 1654 Area(叉积求多边形面积)

Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11106   Accepted: 3167 Description You are going to compute the area of a special kind of polygon. One v

志当存高远 689

【POJ1654】Area【计算几何,叉积】

linklinklink 分析: 找两个点跟原点组成三角形 然后叉积之和就是整个面积 方向可以用导航 CODE: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #define reg register using namespace std; typedef long long ll; const int N=1e.

绫 123

【Poj 1654】Area【计算几何】【叉积】

解题思路 题目大意:一个坐标系,从原点开始走,然后1-4分别代表,向右下走,向右走,向右上走,向下走,5代表回到原点,6-9代表,向上走,向左下走,向左走,向左上走。(看翻译直接无限WA),给出一串包含1-9的字符串,问你这些点所围成的面积 把每个数字对应横纵坐标的变化量预处理出来(就像广搜的dx,dy一样) dx[10]= {0,1,1,1,0,0,0,-1,-1,-1},dy[10]= {0,-1,0,1,-1,0,1,-1,0,1}; 这样我们就能先求出每个点的坐标,而他们又是有序的且一定能...

在人间贩卖声音 208

Area POJ - 1654 [long long叉积求S]

Area POJ - 1654  题意: 8个方向,现在用1~8代表8个方向给个字符串s. 求构成多边形的面积 思路:叉积求面积,用long long 存ans ,最后判小数位 . 无论double 还是 long double  无法控制更好的精度.并且这题卡能内存,不能把点都存下来,而是边读入边计算 #include&lt;cstdio&gt; #include&lt;vector&g...

Haipai1998的博客 224

POJ 1654 Area G++ 叉积 背

如图,8、2、6、4分别代表向 北、南、东和 西一个单位,。9、7、3和 1代表向东北、西北、东南和西南移动一个单元。5表示输入结束。求围成多多边形面积。

woniupengpeng的专栏 405

POJ - 1654 Area (计算几何 叉积 求多边形面积)

Area You are going to compute the area of a special kind of polygon. One vertex of the polygon is the origin of the orthogonal coordinate system. From this vertex, you may go step by step to the f...

YOONGI 237

poj 1654 Area (叉积求面积)

Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19611   Accepted: 5369 Description You are going to compute the area of a special kind of polygon. One v

clover_hxy的博客 385

POJ 1654 Area 几何(叉积求多边形面积)

点击打开链接 利用向量积=ab*ac*sin(ab,ac)=2*S三角形ABC 按逆时针依次计算多边形相邻两个顶点和原点构成向量的叉积,及把多边形分成若干个三角形,累加即可 #include #include #include #include #include using namespace std; typedef long long ll; const int N=2e6+

Masamiiiiii 559

Poj 1654--Area(叉积)

Area Time Limit:1000MS Memory Limit:10000K Total Submissions:17377 Accepted:4827 Description You are going to compute the area of a special kind of polygon. One ver...

weixin_33958585的博客 78

POJ 1654 Area 多边形面积 三角形面积等于两边的向量的叉积的1/2

问题描述: 多边形面积问题(1-9表示各个方向) North 7 8 9 West 4 5 6 East 1 2 3 South 思路:将多边形两两相邻的点与原点相连组成多个三角形然后求三角形面积 三角形面积等于两边的向量的...

269

POJ1654 Area(多边形面积,叉积求三角形面积)

DescriptionYou are going to compute the area of a special kind of polygon. One vertex of the polygon is the origin of the orthogonal coordinate system. From this vertex, you may go step by step to the

退役的铜牌狗 407
上一篇: 【SSLOJ1715】计算面积【叉积】
下一篇: 【洛谷P2742】【模板】二维凸包/[USACO5.1]圈奶牛【凸包】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值