关闭

[POJ2954]Triangle(计算几何)

182人阅读 评论(0) 收藏 举报
分类:

题目描述

传送门
题意:给出一个顶点都是整点的三角形,求三角形内部的整点的个数。

题解

Pick定理:一个计算点阵中顶点在格点上的多边形面积公式:S=a+b/2-1,其中a表示多边形内部的点数,b表示多边形边界上的点数,s表示多边形的面积。
那么a=(2S-b+2)/2
S可以通过叉积直接求出
计算b的方法是:某一条边(x,y)上的整点的数量是gcd(|x|,|y|)+1

代码

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<ctime>
using namespace std;

int a,b,c,d,e,f,area,cnt;

int Abs(int x)
{
    return (x>0)?x:-x;
}
int gcd(int a,int b)
{
    if (!b) return a;
    return gcd(b,a%b);
}
int calc(int a,int b,int c,int d)
{
    return gcd(Abs(c-a),Abs(b-d));
}
int main()
{
    while (~scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f))
    {
        if (!a&&!b&&!c&&!d&&!e&&!f) break;
        area=Abs((c-a)*(f-b)-(d-b)*(e-a));
        cnt=calc(a,b,c,d)+calc(c,d,e,f)+calc(a,b,e,f);
        printf("%d\n",(area-cnt+2)/2);
    }
    return 0;
}
0
0
查看评论

POJ 1927 Area in Triangle(计算几何)

Area in Triangle 博客原文地址: 题目大意:
  • xuechelingxiao
  • xuechelingxiao
  • 2014-11-02 13:58
  • 1207

[POJ2954]Triangle(计算几何-Pick定理)

题目: 我是超链接 题意: 给出一个顶点都是整点的三角形,求三角形内部的整点的个数。 题解: 一个计算点阵中顶点在格点上的多边形面积公式:S=a+b/2-1,其中a表示多边形内部的点数,b表示多边形边界上的点数,s表示多边形的面积。 这题让我求a啊,2a=2S+2−b2a=2S...
  • Blue_CuSO4
  • Blue_CuSO4
  • 2018-01-18 14:58
  • 41

Zoj 3598 Spherical Triangle 【计算几何】【曲面三角形】

球面三角形
  • u010468553
  • u010468553
  • 2014-09-05 16:39
  • 701

POJ 2986 A Triangle and a Circle(计算几何)

Description 给出一个三角形各点坐标以及一个圆的圆心坐标和其半径,求三角形与该圆的相交面积 Input 输入包含多组样例,以文件尾结束,每组用例包括9个浮点数x1,y1,x2,y2,x3,y3,x0,y0,r分别表示三角形三点坐标,圆心坐标以及圆的半径 Output 对于每组用例...
  • V5ZSQ
  • V5ZSQ
  • 2015-08-05 10:43
  • 349

poj2954 - Triangle

想看更多的解题报告:http://blog.csdn.net/wangjian8006/article/details/7870410              ...
  • wangjian8006
  • wangjian8006
  • 2012-08-27 10:32
  • 849

poj2954 Triangle

Description A lattice point is an ordered pair (x, y) where x and y are both integers. Given the coordinates of ...
  • u011403366
  • u011403366
  • 2013-08-27 19:51
  • 409

poj2954 Triangle【Pick定理】

题目大意:给你一个由3个整点构成的三角形,要你求出该三角形内部的整点个数.解题思路:用了一个非常神奇的小定理:Pick定理。 由Pick定理,一个多边形如果每个顶点都由整点构成,该多边形的面积为S,该多边形边上的整点为L,内部的整点为N,则有:2S=2N+L-2。 那么我们要求的N即为(2S+2...
  • cdsszjj
  • cdsszjj
  • 2017-12-21 08:14
  • 50

Poj2954 Triangle (Pick定理)

题目链接:http://poj.org/problem?id=2954 继续刷水题恢复手感。 #include #include int Gcd (int x,int y) { return !y?x:Gcd(y,x%y); } int main () { int ax,ay,bx,...
  • whyorwhnt
  • whyorwhnt
  • 2013-01-07 21:35
  • 633

Area in Triangle (计算几何)

Given a triangle field and a rope of a certain length (Figure-1), you are required to use the rope to enclose a region within the field and make the r...
  • vizard_
  • vizard_
  • 2017-08-18 16:30
  • 67

POJ 2954 Triangle(求整顶点多边形包含的整点数)

POJ 2954 Triangle(点与向量) http://poj.org/problem?id=2954 题意:        给你一个由3个整点构成的三角形,要你求出该三角形内部的整点个数. 分析:   ...
  • u013480600
  • u013480600
  • 2014-09-14 13:13
  • 807
    个人资料
    • 访问:644374次
    • 积分:17918
    • 等级:
    • 排名:第630名
    • 原创:1151篇
    • 转载:7篇
    • 译文:0篇
    • 评论:190条
    联系方式
    QQ:1209628538 加好友请备注省份和ID
    E-mail:fiona_2000@126.com
    最新评论