与POJ1226为例

要知道在一个格点多边形内 知道期内部的点数 Q,边上的点数L,就可以知道他的面积pick定理及 S=Q+L/2-1;

然后 还有边上的点数除了多边形的顶点外,还有一些点该怎么求呢,嘎嘎,记得之前欧几里得吗?两个点的差值,及X轴的差值和Y轴的差值,然后很自然的想到了最大公约数为什么最大公约数就是经过的整格点的个数呢? 当时我是这么想的,当X与Y增长相同的时候,他们的经过的整格点数无疑是X个,当其中一个n倍数式的增加的时候同样,因为之前的1:1的增长现在只不过变成了1:n罢了.那当两个同时增长的时候分别增长n,和m倍.的时候只不过比变成了n:m罢了嘎嘎现在应该明白了好了

#include <iostream>
#include<cstdio>
#include<string.h>
#include<cmath>
using namespace std;
struct point
{
double x,y;
point (double a=0,double b=0){x=a;y=b;}
};
struct point p[105];
double cross(point a,point b)
{
return a.x*b.y-a.y*b.x;
}
double work(int n)
{
int i;
double sum=0;
for(i=0;i<n;i++)
sum+=cross(p[i],p[(i+1)%n]);
return sum/2;
}
int gcd(int a,int b)
{
int t;
if(a<b)
{
t=a;a=b;b=t;
}
if(b==0)return a;
else return gcd(b,a%b);
}
int main()
{
int t,n,i;
int x,y,k;
double sum;
int num1,num2;
scanf("%d",&t);
k=0;
while(t--)
{
num2=0;
scanf("%d",&n);
p[0]=point(0,0);
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
p[i].x=p[i-1].x+x;
p[i].y=p[i-1].y+y;
x=x>0?x:-x;
y=y>0?y:-y;
num2+=gcd(x,y);
}
sum=work(n);
num1=(2*sum+2-num2)/2;
printf("Scenario #%d:\n",++k);
printf("%d %d %.1lf\n\n",num1,num2,sum);
}
return 0;
}

匹克定理pick的更多相关文章

  1. POJ 2954 Triangle (pick 定理)

    题目大意:给出三个点的坐标,问在这三个点坐标里面的整数坐标点有多少个(不包含边上的) 匹克定理:I = (A-E) / 2 + 1; A: 表示多边形面积 I : 表示多边形内部的点的个数 E: 表示 ...

  2. Luogu P2735 电网【真·计算几何/Pick定理】By cellur925

    题目传送门 刷USACO偶然遇到的,可能是人生中第一道正儿八经的计算几何. 题目大意:在平面直角坐标系中给你一个以格点为顶点的三角形,求三角形中的整点个数. 因为必修5和必修2的阴影很快就想到了数学中 ...

  3. POJ 1265 Area (Pick定理 & 多边形面积)

    题目链接:POJ 1265 Problem Description Being well known for its highly innovative products, Merck would d ...

  4. 洛谷 P2735 电网

    https://www.luogu.org/problemnew/show/P2735 定理什么的最讨厌了,匹克定理?不会,也不想学. 粉色的为电网,将图中的电网我们将他构造一个矩形,然后蓝色和绿色的 ...

  5. HDU 3775 Chain Code ——(Pick定理)

    Pick定理运用在整点围城的面积,有以下公式:S围 = S内(线内部的整点个数)+ S线(线上整点的个数)/2 - 1.在这题上,我们可以用叉乘计算S围,题意要求的答案应该是S内+S线.那么我们进行推 ...

  6. 【POJ】2954 Triangle(pick定理)

    http://poj.org/problem?id=2954 表示我交了20+次... 为什么呢?因为多组数据我是这样判断的:da=sum{a[i].x+a[i].y},然后!da就表示没有数据了QA ...

  7. UVa 10088 - Trees on My Island (pick定理)

    样例: 输入:123 16 39 28 49 69 98 96 55 84 43 51 3121000 10002000 10004000 20006000 10008000 30008000 800 ...

  8. Area(Pick定理POJ1256)

    Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5429   Accepted: 2436 Description ...

  9. poj 2954 Triangle(Pick定理)

    链接:http://poj.org/problem?id=2954 Triangle Time Limit: 1000MS   Memory Limit: 65536K Total Submissio ...

随机推荐

  1. 用AT命令调试调制解调器

    最早生产调制解调器的公司是贺氏,后来组建的厂家制造的调制解调器都与HAYES兼容,大部分的通信软件使用菜单来对调制解调器进行配置.检测.但是有些通信软件要求用户直接发命令给调制解调器,在这种情况下必须 ...

  2. 使用COSBench工具对ceph s3接口进行压力测试--续

    之前写的使用COSBench工具对ceph s3接口进行压力测试是入门,在实际使用是,配置内容各不一样,下面列出 压力脚本是xml格式的,套用UserGuide文档说明,如下 有很多模板的例子,在co ...

  3. block 的细节和本质

    案例1: 普通的局部变量,block内部只会引用它初始的值(block定义那一刻),不能跟踪它的改变 输出:1 案例2: block内部能够一直引用被__block修饰的变量 输出:2 案例3: bl ...

  4. Equinox P2 介绍(一)Getting Start

    一直觉得 Equinox 的 P2 是个神秘的东西,常常使得 Eclipse 或 Equinox 表现出一些奇怪的行为,于是找来官方文档读一读,试图更好地理解与应用 Equinox . 官方文档很多, ...

  5. 使用Xstart远程图形化Linux

    进入桌面以后su - 输入密码切换到root用户 rcc命令调出RoseMirrorHa页面进行操作

  6. POJ-1088 滑雪 (记忆化搜索,dp)

    滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 86318 Accepted: 32289 Description Mich ...

  7. HDU 5636 Shortest Path(Floyed,枚举)

    Shortest Path Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Tot ...

  8. ImageGrab.grab()全屏抓取错误

    前几天看见知乎上的连连看外挂就想着自己试一下 但是搞了半天发现截取全屏的图片就出现了问题 截取的图片其实只有屏幕左上角的一部分 大概就这样: 用的是PIL  ImageGrab里的grab函数 没加参 ...

  9. java 中的继承

    继承的概念 继承就是子类继承父类的特征和行为,使得子类具有父类得属性和方法. 继承得关键字:extends 语法格式:<modifier> class <name> [exte ...

  10. JavaScript 包管理工具npm 和yarn 对比