题目描述:

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相关推荐

  1. POJ1654 Area(多边形面积)

    题目链接: http://poj.org/problem?id=1654 题目描述: Area Description You are going to compute the area of a s ...

  2. 全国各省市区数据sql格式(utf8)

    一.省 DROP TABLE IF EXISTS `provinces`; CREATE TABLE `provinces` ( `id` int(11) NOT NULL auto_incremen ...

  3. .Net MVC3中取得当前区域的名字(Area name)

    在代码中: ControllerContext.RouteData.DataTokens["area"] 在View中: ViewContext.RouteData.DataTok ...

  4. 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 ...

  5. OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。【答案】C B

    OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64):存根区域(stub)的特点是(65). (64)A.不接受本地AS之外的路由信息,也不接受其他区域的路由汇总 ...

  6. MVC Html.ActionLink Area 链接中含区域的页面之间的跳转

    例如我有一个需求,使用@Html.ActionLink实现不同功能之间的跳转,有部分Control是在Area之下,这种时候我们应该如何实现区域间的跳转呢? 错误用例: <ul class=&q ...

  7. Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签

    Python使用matplotlib可视化面积图(Area Chart).通过给坐标轴和曲线之间的区域着色可视化面积图.在面积图的指定区域添加箭头和数值标签 目录

  8. Python使用matplotlib可视化时间序列堆叠的面积图、堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart)

    Python使用matplotlib可视化时间序列堆叠的面积图.堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart) 目录

  9. R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart)

    R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) 目录 R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart) #仿真数据 #绘制堆叠 ...

最新文章

  1. “示范性高中”害死人呐!
  2. android与html注册登录,Android登录注册源码
  3. ES9的新特性:异步遍历Async iteration
  4. 不允许使用java方式启动_细品 Java 中启动线程的正确和错误方式
  5. Leetcode-1154 Ordinal Number Of Date(一年中的第几天)
  6. 1个通用工具平台+多个热点场景工具套件,助力开发者快速构建应用
  7. SignalR循序渐进(三)简易的集群通讯组件
  8. CVPR 2020文本图像检测与识别论文/代码
  9. 算法:同构字符串205. Isomorphic Strings
  10. 【稀饭】react native 系列教程之已有项目接入React Native
  11. 基于python的RGB图像转灰度图
  12. MYSQL命令大全自学笔记
  13. DIY智能小车篇(一):结构模块
  14. docker里面安装supervisor
  15. Python selenium 爬取淘宝商品
  16. 大地坐标与地心坐标相互转换 (WGS84,西安80,北京54, China200)C++
  17. 3分钟了解思极有容数据库的2020
  18. 磁盘分区后取得整数大小
  19. GHNN调试运行部分报错解决
  20. 2021-07-22 CentOS7.6 Samba使用AD域控认证(winbind),亲测有效。

热门文章

  1. POJ_1195 Mobile phones 【二维树状数组】
  2. cocos2d-lua 3.5 android搭建常见错误
  3. VC检测OLE控件是否已经注册,并注册它
  4. 智能优化算法之蚁群算法(1)
  5. C# String部分方法的例子StringBuilder的简单介绍
  6. css选择器权重排序_CSS选择器的权重与优先规则
  7. 计算机再带word打不开,word打不开,详细教您怎么解决word打不开
  8. mysql 创建date,在MySQL中从DATE和TIME创建DATETIME?
  9. php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)
  10. asppython份额_2019年7月编程语言榜单公布:Python第一 份额保持较大幅度增长