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.pswp.cn/news/378040.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378040.shtml
英文地址,請注明出處:http://en.pswp.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也就是直方圖的橫坐標軸 每一個…