POJ 1654 Area

题意:从原点出发,沿着8个方向走,每次走1个点格或者根号2个点格的距离,最终回到原点,求围住的多边形面积。

分析:直接记录所经过的点,然后计算多边形面积。注意,不用先保存所有的点,然后计算面积,边走变算,不然会超内存。最多有1000000个点。

注意:精度问题,使用long long /__int64,直接使用double不准确。方向的处理使用数组。
// Time 94ms; Memory 1036K
#include<iostream>
#include<cstring>
#define maxn 1000010using namespace std;char s[maxn];
long long dx[]={-1,0,1,-1,0,1,-1,0,1},dy[]={-1,-1,-1,0,0,0,1,1,1};struct point
{long long x,y;point(long long xx=0,long long yy=0):x(xx),y(yy){}
}a,b;long long cross()
{return a.x*b.y-a.y*b.x;
}
int main()
{int i,t,l;long long are;cin>>t;while(t--){cin>>s;l=strlen(s);if(l<2){cout<<"0"<<endl;continue;}a=point(dx[s[0]-49],dy[s[0]-49]);b=point(a.x+dx[s[1]-49],a.y+dy[s[1]-49]);are=cross();for(i=2;s[i];i++){a=b;b=point(a.x+dx[s[i]-49],a.y+dy[s[i]-49]);are+=cross();}if(are<0) are=-are;cout<<are/2;if(are%2) cout<<".5";cout<<endl;}return 0;
}


转载于:https://www.cnblogs.com/java20130726/p/3218170.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++ grammar】重载、内联、变量作用域、带默认参数的函数

目录1、变量的作用域1. 变量的作用域分类2. Unary Scope Resolution (一元作用域解析运算符)2、重载函数3、带有默认参数值的函数4、重载函数 VS 带有默认参数值的函数5、内联函数&#xff08;Inline Function&#xff09;1. 普通函数的优缺点2. 使用内联函数3. 定义内联函数4.…

五、像素运算

一、相关概念 1、算术运算 Ⅰ加减乘除 Ⅱ调节亮度 Ⅲ调整对比度 2、逻辑运算 Ⅰ与或非 Ⅱ遮罩层控制 二、图像算术运算(加减乘除均值方差) 其中图像的加减乘除需要保证两张图像的大小相同 import cv2 import numpy as npdef add(src1,src2):dst cv2.add(src1,src2)cv2.im…

创建bootstrap项目_使用Bootstrap创建第一个网页

创建bootstrap项目使用Bootstrap创建第一个网页 (Create First Webpage with Bootstrap) In the previous article, we learned "how to setup bootstrap?" for a web project. If you haven’t gone through that, it is recommended to read it. Now, in this art…

Chaikin Curve(球面插值)

在两条折线间完成平滑的过渡是 用画布做UI 或者做类似地图编辑器一类的工作的 很常见的任务。 怎么样化方为圆是决定工作效率的很重要的因素。&#xff08;当需要编辑的曲线多起来&#xff0c; 复杂起来的时候&#xff0c;这会是件相当繁重的工作&#xff09; 最容易想到的莫非…

【2020 电设G题 图像题解】

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 2022.3.10新增订阅通知 近期把此专栏设置为了付费模式,可以直接花9.9买这个专栏,买了就可以直接这个专栏的所有文章了。后…

六、ROI和泛洪填充

一、ROI ROI&#xff1a;region of interest&#xff0c;即感兴趣区域。 一般主要通过numpy来获取ROI 将某区域转变为灰色图片再覆盖原图像 import cv2 import numpy as npsrc cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a1.jpg") cv2.imshow(&quo…

VS2005 there is no source code available for the current location 解决方案

1.首先试最常规的方法&#xff1a;Clean and then rebuild solution&#xff0c;但是没有解决 2.进入Tools>Options,选择Debugging>General 却掉 Enable address-level debugging 选项&#xff0c;在去掉 Require source files to exactly match the original version. O…

django 静态数据_如何在Django中使用静态数据?

django 静态数据Static Data means those data items that we cannot want to change, we want to use them as it is like audio, video, images, files etc. 静态数据是指我们不想更改的数据项&#xff0c;我们想像音频&#xff0c;视频&#xff0c;图像&#xff0c;文件等那…

Leetcode226. 翻转二叉树(递归、迭代、层序三种解法)

目录题目1、层序法&#xff1a;2、递归法&#xff1a;1、先序遍历&#xff08;中左右&#xff09;2、后序遍历&#xff08;左右中&#xff09;3、递归中序遍历为什么不行&#xff08;左中右&#xff09;3、迭代法&#xff1a;1、先序遍历2、中序遍历3、后序遍历为什么迭代法的中…

Asp.net 获取当前目录的三种方法

方法一&#xff1a; string sPath System.IO.Path.GetDirectoryName(Page.Request.PhysicalPath) 方法二&#xff1a; string sPath System.Web.HttpContext.Current.Request.MapPath("/") 方法三&#xff1a; string s…

一款jQuery立体感动态下拉导航菜单特效

一款jQuery立体感动态下拉导航菜单特效,鼠标经过&#xff0c;在菜单栏上方下拉出一个背景图片&#xff0c;效果十分不错的一款jquery特效。 对IE6都是兼容的&#xff0c;希望大家好好研究研究。 适用浏览器&#xff1a;IE6、IE7、IE8、360、FireFox、Chrome、Safari、Opera、傲…

七、模糊操作

一、模糊操作基本原理 1&#xff0c;基于离散卷积 2&#xff0c;定义好每一个卷积核 3&#xff0c;不同卷积核得到不同的卷积效果 4&#xff0c;模糊是卷积的一种表象 二、1*3卷积核举例 每次右移一格&#xff0c;进行对应相乘再求和。1*3的卷积核左右两边的元素并没有处理而…

LeetCode 100. 相同的树 思考分析

给定两个二叉树&#xff0c;编写一个函数来检验它们是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1: 输入: 1 1 / \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true 示例 2: 输入: 1 1 / 2 2 [1,2], [1,null,2]输…

在Python中以二进制格式输入数字

Syntax to convert binary value to an integer (decimal format), 将二进制值转换为整数(十进制格式)的语法&#xff0c; int(bin_value, 2)Here, 这里&#xff0c; bin_value should contain the valid binary value bin_value应该包含有效的二进制值 2 is the base value …

八、边缘保留滤波(EPF)

一、概念 边缘保留滤波(EPF,edge preserving filtering) 二、高斯双边 cv2.bilateralFilter(image,0,100,15)100为差异&#xff0c;15为周围的区域 import cv2 import numpy as npdef bilateralFilter(image):dst cv2.bilateralFilter(image,0,100,15)cv2.imshow(bilater…

LintCode 375. 克隆二叉树(深复制)

先序遍历构造二叉树 TreeNode * preorder(TreeNode * root){if(rootNULL) return NULL;TreeNode * ans;ansnew TreeNode(root->val);if(root->left!NULL){ans->leftpreorder(root->left);}if(root->right!NULL){ans->rightpreorder(root->right);}return…

关于ECMAScript基础入门的分享

目录 ECMAScript基础入门1. 介绍2. 变量与数据类型2.1 变量2.2 数据类型 3. 运算符3.1 算术运算符3.2 比较运算符 4. 控制流4.1 条件语句4.2 循环语句 5. 函数6. 对象与数组6.1 对象6.2 数组 7. 总结 ECMAScript基础入门 1. 介绍 ECMAScript是JavaScript的标准规范&#xff0…

kotlin 计算平方_Kotlin程序来计算复利

kotlin 计算平方Compound interest is the sum of principal amount and interest of interest. 复利是本金和利息之和。 Given, principal, rate, and time, we have to calculate the Compound interest. 给定本金&#xff0c;利率和时间&#xff0c;我们必须计算复利。 Fo…

近代科学为什么诞生在西方-1

宽泛的讲&#xff0c;近代科学是几种文明在长达几个世纪的持续交流碰撞中产生的。它正在日益成为全世界全人类都有效的普适科学。通向现代科学之路就是通向自由和开放交流之路。 马克思韦伯和莫顿都认为&#xff0c;科学事业要持续的进步就要特定的文化和制度的支持。 中国的数…

九、图像直方图

一、图像直方图的属性 说白了就是将图像上的各个颜色通道上的像素点的像素值进行统计&#xff0c;例如&#xff1a;像素值为14的像素点个数有几个&#xff0c;进行显示。 图像的像素值取值范围为[0,255]&#xff0c;这个范围也成为直方图的range也就是直方图的横坐标轴 每一个…