题目描述: http://poj.org/problem?id=2954
题目大意: 给定顶点都是整数的三角形, 试求出该三角形内部的整点个数(不包括边界).
首先简要描述一下Pick 定理:
给定顶点坐标均是整点(或正方形格点)的简单多边形, Pick 定理说明了其面积S和内部格点数目i、边上格点数目b 的关系:
S = i + b/2 - 1。
(其中i 表示多边形内部的点数,b 表示多边形边界上的点数,S 表示多边形的面积)
Pick 定理在百度百科:http://baike.baidu.com/view/3207200.html
直接浙大模板之
#include <cstdio> #define abs(x) ((x)>0?(x):-(x)) struct point { int x,y; }; int gcd(int a,int b) { return b?gcd(b,a%b):a; } //多边形上的网格点个数 int grid_onedge(int n,point* p) { int i,ret=0; for (i=0; i<n; i++) ret+=gcd(abs(p[i].x-p[(i+1)%n].x),abs(p[i].y-p[(i+1)%n].y)); return ret; } //多边形内的网格点个数 int grid_inside(int n,point* p) { int i,ret=0; for (i=0; i<n; i++) ret+=p[(i+1)%n].y*(p[i].x-p[(i+2)%n].x); return (abs(ret)-grid_onedge(n,p))/2+1; } int main() { point t[3]; while(scanf("%d %d %d %d %d %d", &t[0].x, &t[0].y, &t[1].x, &t[1].y, &t[2].x, &t[2].y) != EOF) { if(!(t[0].x || t[0].y || t[1].x || t[1].y || t[2].x || t[2].y)) break; printf("%d\n", grid_inside(3, t)); } return 0; }
发表评论
-
ACM 之 Java BigInteger
2011-06-01 20:26 0Java 的大整数类在ACM 中大有用武之地 ... -
判断点是否构成多边形, 顶点连续给出
2011-05-26 14:27 0#include <cstdio> #inc ... -
poj pku 1981 Circle and Points 点与圆 位置关系
2011-05-26 11:29 1261题目描述: http://poj.org/problem?id ... -
poj 1032 Parliament 数学
2011-05-25 17:34 1211题目描述: http://poj.org/problem?i ... -
poj 1385 Lifting the Stone 多边形重心
2011-05-25 11:13 1026题目描述: http://poj.org/problem?i ... -
poj 2676 Sudoku dfs 深搜
2011-05-16 21:05 871题目描述: http://poj.org/problem?i ... -
hdoj 2064 汉诺塔III 递推
2011-05-15 22:29 883题目描述: http://acm.hdu.edu.cn/sh ... -
hdoj 1207 汉诺塔II dp 动态规划
2011-05-15 21:22 1666题目描述: http://acm.hdu.edu.cn/sh ... -
poj 2506 Tiling 递推
2011-05-15 11:18 906题目描述: http://poj.org/problem?i ... -
poj 2420 A Star not a Tree? 多边形 费马点
2011-05-14 18:57 1795题目描述: http://poj.org/problem?i ... -
poj 1012 Joseph
2011-05-10 17:42 1231题目描述:poj.org/problem?id=10 ... -
zoj 1081 Points Within 点与多边形关系
2011-05-07 17:51 1132题目描述: http://acm.zju.edu.cn/on ... -
poj 1835 宇航员
2011-05-03 17:00 798题目描述:http://poj.org/problem?id ... -
poj 2398 Toy Storage
2011-04-23 20:19 713题目描述:http://www.poj.org/proble ... -
poj 1654 Area 多边形面积
2011-04-23 20:10 895题目描述:http://poj.org/proble ... -
poj 2318 TOYS 点 直线 位置关系
2011-04-23 10:06 664题目描述:http://poj.org/problem?id= ... -
poj pku 1673 EXOCENTER OF A TRIANGLE 三角形 垂心
2011-04-09 16:41 542题目描述:http://poj.org/problem?id= ... -
pc 111303 uva 10195 The Knights Of The Round Table
2011-04-04 16:06 750题目描述:http://www.programming-cha ... -
pc 111302 uva 10180 Rope Crisis in Ropeland!
2011-04-03 20:46 837题目描述: http://www.programming-ch ... -
poj 1971 Parallelogram Counting 平行四边形个数
2011-04-03 10:05 1212题目描述:http://poj.org/problem?id= ...
相关推荐
北大POJ1163-The Triangle 解题报告+AC代码
北大POJ1163-The Triangle
北大POJ1129-Channel Allocation【四色定理】 解题报告+AC代码
POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
北大POJ1006-Biorhythms【中国剩余定理】 解题报告+AC代码
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
poj分类poj分类poj分类poj分类
北大POJ1159-Palindrome 解题报告+AC代码
POJ 1300 Door Man:无向图、欧拉定理、gets、sscanf
poj 3414解题报告poj 3414解题报告poj 3414解题报告poj 3414解题报告
C语言 poj npu 西工大 C语言Poj答案全完整打包,给有需要的朋友
poj 1012解题报告poj 1012解题报告poj 1012解题报告poj 1012解题报告
poj 2329解题报告poj 2329解题报告poj 2329解题报告poj 2329解题报告
poj 1659解题报告poj 1659解题报告poj 1659解题报告poj 1659解题报告
POJ1503解答 POJ1503解答,正确答案(已通过POJ)
北大POJ2002-Squares 解题报告+AC代码
POJ1048,加强版的约瑟夫问题 难度中等
POJ1083的代码,POJ1083的代码,POJ1083的代码