poj1654 Area
题目描述:
vjudge
POJ
题解:
本以为是水题结果是神题
计算几何求多边形面积。
考虑到结果一定是整数或者整数/2,我们应该用long long 来存……
用double会死……
还有日常只能用c++编译器,不能用g++。
还有用abs会莫名ce,要手写。
代码:
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; struct Point {ll x,y;Point(){}Point(ll x,ll y):x(x),y(y){}Point operator + (const Point&a)const{return Point(x+a.x,y+a.y);}Point operator - (const Point&a)const{return Point(x-a.x,y-a.y);}ll operator ^ (const Point&a)const{return x*a.y-y*a.x;} }p[10]; typedef Point Vector; int T; char ch[1000050]; void init() {p[1] = Point(-1,-1),p[2] = Point(0,-1),p[3] = Point(1,-1),p[4] = Point(-1,0);p[6] = Point(1,0),p[7] = Point(-1,1),p[8] = Point(0,1),p[9] = Point(1,1); } void work() {scanf("%s",ch+1);Point s0(0,0),s1(0,0),s2(0,0);int len = strlen(ch+1);long long ans = 0;for(int i=1;i<len;i++){s1 = s2,s2 = s2+p[ch[i]-'0'];ans+=((s1-s0)^(s2-s0));}if(ans<0)ans=-ans;if(ans&1){printf("%lld.5\n",ans/2);}else{printf("%lld\n",ans/2);} } int main() {scanf("%d",&T);init();while(T--)work();return 0; }
View Code
转载于:https://www.cnblogs.com/LiGuanlin1124/p/10983095.html
poj1654 Area相关推荐
- POJ1654 Area(多边形面积)
题目链接: http://poj.org/problem?id=1654 题目描述: Area Description You are going to compute the area of a s ...
- 全国各省市区数据sql格式(utf8)
一.省 DROP TABLE IF EXISTS `provinces`; CREATE TABLE `provinces` ( `id` int(11) NOT NULL auto_incremen ...
- .Net MVC3中取得当前区域的名字(Area name)
在代码中: ControllerContext.RouteData.DataTokens["area"] 在View中: ViewContext.RouteData.DataTok ...
- xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决
之前是用xcode8.3.3创建的工程最近升级到Xcode9.0 遇见了这个问题 在Xcode 9.0以上 新建xib文件会报错 xx.xib: error: Illegal Configuratio ...
- OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。【答案】C B
OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64):存根区域(stub)的特点是(65). (64)A.不接受本地AS之外的路由信息,也不接受其他区域的路由汇总 ...
- MVC Html.ActionLink Area 链接中含区域的页面之间的跳转
例如我有一个需求,使用@Html.ActionLink实现不同功能之间的跳转,有部分Control是在Area之下,这种时候我们应该如何实现区域间的跳转呢? 错误用例: <ul class=&q ...
- Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签
Python使用matplotlib可视化面积图(Area Chart).通过给坐标轴和曲线之间的区域着色可视化面积图.在面积图的指定区域添加箭头和数值标签 目录
- Python使用matplotlib可视化时间序列堆叠的面积图、堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart)
Python使用matplotlib可视化时间序列堆叠的面积图.堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart) 目录
- R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart)
R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) 目录 R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) #仿真数据 #绘制堆叠 ...
最新文章
- “示范性高中”害死人呐!
- android与html注册登录,Android登录注册源码
- ES9的新特性:异步遍历Async iteration
- 不允许使用java方式启动_细品 Java 中启动线程的正确和错误方式
- Leetcode-1154 Ordinal Number Of Date(一年中的第几天)
- 1个通用工具平台+多个热点场景工具套件,助力开发者快速构建应用
- SignalR循序渐进(三)简易的集群通讯组件
- CVPR 2020文本图像检测与识别论文/代码
- 算法:同构字符串205. Isomorphic Strings
- 【稀饭】react native 系列教程之已有项目接入React Native
- 基于python的RGB图像转灰度图
- MYSQL命令大全自学笔记
- DIY智能小车篇(一):结构模块
- docker里面安装supervisor
- Python selenium 爬取淘宝商品
- 大地坐标与地心坐标相互转换 (WGS84,西安80,北京54, China200)C++
- 3分钟了解思极有容数据库的2020
- 磁盘分区后取得整数大小
- GHNN调试运行部分报错解决
- 2021-07-22 CentOS7.6 Samba使用AD域控认证(winbind),亲测有效。
热门文章
- POJ_1195 Mobile phones 【二维树状数组】
- cocos2d-lua 3.5 android搭建常见错误
- VC检测OLE控件是否已经注册,并注册它
- 智能优化算法之蚁群算法(1)
- C# String部分方法的例子StringBuilder的简单介绍
- css选择器权重排序_CSS选择器的权重与优先规则
- 计算机再带word打不开,word打不开,详细教您怎么解决word打不开
- mysql 创建date,在MySQL中从DATE和TIME创建DATETIME?
- php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)
- asppython份额_2019年7月编程语言榜单公布:Python第一 份额保持较大幅度增长