nyoj_3:多边形重心问题(计算几何)
基础的计算几何
多边形的n个顶点按*时针方向给出
由任意n边形可分解为n-2个三角形,各三角形面积面积与重心易得,故有各三角形的面积及重心
用重心公式可求得多边形的面积与重心
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=3
#include<bits/stdc++.h>
using namespace std;
;
;
struct point
{
double x,y;
point():x(),y(){}
}p[N];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
;
point ans;
scanf("%d",&n);
;i<n;i++)
scanf("%lf%lf",&p[i].x,&p[i].y);
;i<=n;i++)
{
].y-p[i%n].y*p[i-].x)/2.0;
result+=t;
ans.x+=t*(p[i%n].x+p[i-].x)/3.0;
ans.y+=t*(p[i%n].y+p[i-].y)/3.0;
}
if(fabs(result)<eps)
puts("0.000 0.000");
else
printf("%.3lf %.3lf\n", fabs(result), (ans.x + ans.y) / result);
}
}
nyoj_3:多边形重心问题(计算几何)的更多相关文章
- hdu 1115:Lifting the Stone(计算几何,求多边形重心。 过年好!)
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- POJ 3855 计算几何·多边形重心
思路: 多边形面积->任选一个点,把多边形拆成三角,叉积一下 三角形重心->(x1+x2+x3)/3,(y1+y2+y3)/3 多边形重心公式题目中有,套一下就好了 计算多边形重心方法: ...
- HDOJ(1115)多边形重心
Lifting the Stone http://acm.hdu.edu.cn/showproblem.php?pid=1115 题目描述:输入n个顶点(整数),求它们围成的多边形的重心. 算法:以一 ...
- UVALive 4426 Blast the Enemy! --求多边形重心
题意:求一个不规则简单多边形的重心. 解法:多边形的重心就是所有三角形的重心对面积的加权平均数. 关于求多边形重心的文章: 求多边形重心 用叉积搞一搞就行了. 代码: #include <ios ...
- hdu 1115(计算多边形重心)
题意:已知一多边形没有边相交,质量分布均匀.顺序给出多边形的顶点坐标,求其重心. 分析: 求多边形重心的题目大致有这么几种: 1,质量集中在顶点上.n个顶点坐标为(xi,yi),质量为mi,则重心 X ...
- 谁能告诉我为什么sum_area输出总是0(多边形重心问题)
多边形重心问题 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 在某个多边形上,取n个点,这n个点顺序给出,按照给出顺序将相邻的点用直线连接, (第一个和最后一个连接 ...
- HDU 1115(求质量均匀分布的多边形重心 物理)
题意是给一个 n 边形,给出沿逆时针方向分布的各顶点的坐标,求出 n 边形的重心. 求多边形重心的情况大致上有三种: 一.多边形的质量都分布在各顶点上,像是用轻杆连接成的多边形框,各顶点的坐标为Xi, ...
- hdu 1115(多边形重心问题)
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- NYOJ3——多边形重心问题
多边形重心问题 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述:在某个多边形上,取n个点,这n个点顺序给出,按照给出顺序将相邻的点用直线连接, (第一个和最后一个连接) ...
随机推荐
- [Leetcode] Binary tree level order traversal二叉树层次遍历
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- 使用java实现发送邮件的功能
首先要在maven添加javamail支持 <dependency> <groupId>javax.activation</groupId> <artifac ...
- 机器学习:线性判别式分析(LDA)
1.概述 线性判别式分析(Linear Discriminant Analysis),简称为LDA.也称为Fisher线性判别(Fisher Linear Discriminant,FLD) ...
- oracle表的简单操作
版权声明:本文为博主原创文章,转载时请注明原文链接. 1.创建表 ) ) not null,primary key(num)); 创建了一个两个字段的表,num和name,都设置为非空,num设为主键 ...
- Mac下终端配置(item2 + oh-my-zsh + solarized配色方案)
最近重装了系统,于是便重新配置了一下终端,使其更符合用户习惯. 效果如下: 拥有语法高亮,命令行tab补全,自动提示符,显示Git仓库状态等功能. 安装 首先我们下载的 iTem2 这个软件,比Mac ...
- 宿主机共享文件夹给不同Linux虚拟机的方法
一.Windows/Linux宿主机共享文件夹给VMWare中的Linux虚拟机 1.能安装vmware tools1)在vmware的ubuntu中安装vmware tools2)在vmware中开 ...
- Bash扩展顺序
当进行变量替换.命令替换.数学扩展以及路径扩展时,Bash Shell遵循如下顺序: 1.大括号扩展 $ls f{oo,aa,unble} 2.~扩展 ~cb, ~/doc/working 3.命令参 ...
- PHP获取远程文件的几种方式
1.fopen() 2.file_get_contents() 3.fsocket() 4.curl()
- @JsonIgnoreProperties忽略转换到json的属性
bean转换到json忽略指定属性 @JsonIgnoreProperties(value={"attrName"})
- Swift计算字符数量
通过调用全局 countElements 函数并将字符串作为参数进行传递可以获取该字符串的字符数量. let unusualMenagerie = "Koala