POJ 2954 Triangle pick公式
来源:互联网 发布:手机版仓库进销存软件 编辑:程序博客网 时间:2024/06/02 00:04
Pick公式:平面上以格子点为顶点的简单多边形,如果边上的点数为on,内部的点数为in,则它的面积为area=on/2+in-1
利用gcd求每个边上的点数。
View Code
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<stdlib.h>using namespace std;struct point{ int x, y;}p[5];int gcd(int a, int b){ return b == 0 ? a : gcd(b, a%b);}int main(){ int i, j; while( ~scanf("%d%d", &p[0].x, &p[0].y) ) { bool flag = 1; for(i = 1; i < 3; i++) { scanf("%d%d", &p[i].x, &p[i].y); if(p[i].x || p[i].y) flag = 0; } if(flag && !p[0].x && !p[0].y) break; int on = 0; p[3] = p[0]; for(i = 0; i < 3; i++) on += gcd( abs (p[i].x - p[i+1].x), abs(p[i].y - p[i+1].y) ); int s = (p[1].x - p[0].x) * (p[2].y - p[0].y) - (p[1].y - p[0].y) * (p[2].x - p[0].x); s = abs(s) / 2; int in = s + 1 - on / 2; printf("%d\n", in); } return 0;}
- POJ 2954 Triangle pick公式
- poj 2954 Triangle(Pick公式+GCD关系+面积公式)
- POJ 2954 Triangle [PICK公式+GCD]【计算几何】
- POJ 2954(Pick公式)
- POJ 2954 pick公式
- POJ 2954 Triangle (pick 定理)
- POJ 2954 Triangle (Pick定理)
- POJ 2954 Triangle(Pick定理)
- POJ 2954 || Triangle ( pick定理
- POJ 2954 Triangle (Pick定理)
- POJ 2954 Triangle(PICK定理)
- POJ 2954 Triangle Pick定理+gcd
- POJ 1265 pick公式
- POJ 1265 pick公式
- poj 1265 Area 计算几何Pick定理 && poj 2954 Triangle
- POJ 2954 Triangle(pick定理,边上整点数)
- POJ 1265 Area Pick公式
- POJ 1265 Area pick公式
- oracle创建表空间和用户,删除表空间、用户
- POJ 1228 判断原始凸包是否唯一
- POJ 3348 Cows 凸包 + 多边形面积公式
- POJ 1654 Area 多边形面积
- 0829
- POJ 2954 Triangle pick公式
- POJ 半平面交 模板题 三枚
- POJ 1279 Art Gallery 半平面交 + 多边形面积
- POJ 3525 Most Distant Point from the Sea 半平面交 +二分
- POJ 3384 Feng Shui 半平面交
- POJ 1755 Triathlon 半平面交
- ORACLE Checkpoint-检查点队列与增量检查点
- POJ 2540 Hotter Colder 半平面交 求可行域面积
- HDU 3699 A hard Aoshu Problem 2010 Asia Fuzhou Regional Contest J题 模拟 + 搜索