`
scott________
  • 浏览: 21588 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
最近访客 更多访客>>
社区版块
存档分类
最新评论

poj 1385 Lifting the Stone 多边形重心

阅读更多
//IDE:vc6.0
#include <iostream>
using namespace std;
 
struct point { 
	double x, y;
};

double xmult(point p1,point p2,point p0){
	return (p1.x - p0.x) * (p2.y - p0.y)
		   - (p2.x - p0.x) * (p1.y - p0.y);
}

point barycenter(int n, point* p)  
{  
    point ret;  
    double area = 0.0, t;  
    ret.x = ret.y = 0.0;  
    for(int i = 1; i < n - 1; i++) {  
        t = xmult(p[i], p[i+1], p[0]) / 2.0;  
		area += t;
        ret.x += (p[0].x + p[i].x + p[i+1].x) * t;  
        ret.y += (p[0].y + p[i].y + p[i+1].y) * t;
    }  
    ret.x /= (3 * area);  
    ret.y /= (3 * area);  
    return ret;  
} 

int main() {
	//freopen("in.txt", "r", stdin);
	
	point* p, ret;
	int ncases, n;  //ncases 个测试用例, n 个点
	scanf("%d", &ncases);
	while(ncases--) {
		scanf("%d", &n);
		p = new point[n];
		
		for(int i = 0; i < n; i++)
			scanf("%lf %lf", &p[i].x, &p[i].y);
		ret = barycenter(n, p);
		printf("%.2lf %.2lf\n", ret.x, ret.y);
		delete []p;
	}
	return 0;
}


参考自:http://blog.csdn.net/zxy_snow/archive/2011/05/03/6386832.aspx
分享到:
评论

相关推荐

    POJ1426-Find The Multiple【BFS+同余模】

    【标题】"POJ1426-Find The Multiple【BFS+同余模】"是一道来源于北京大学在线编程平台POJ的算法题目,主要涉及到了广度优先搜索(BFS)与同余模运算的知识点。这道题目要求解决的是寻找一个整数的倍数问题,可能...

    POJ1027-The Same Game

    【标题】"POJ1027 - The Same Game"是一个经典的编程竞赛题目,源自北京大学的在线编程平台POJ(Problem Online Judge)。该题目主要考察的是动态规划和矩阵链乘法的知识,要求参赛者编写程序解决一个具有策略性的...

    北大POJ1163-The Triangle

    北大POJ1163-The Triangle

    多边形相关题解1

    5. **多边形重心**:在POJ1385中,求解多边形的重心。当质量均匀分布时,重心的位置可以通过所有顶点坐标的平均值来确定。对于质量集中在顶点上的情况,重心的位置由每个顶点的质量和坐标共同决定。 在处理这些问题...

    POJ1163-The Triangle

    【标题】"POJ1163 - The Triangle" 是北京大学在线编程平台POJ上的一道算法题目。这道题目通常被归类为计算机科学与信息技术领域的算法问题,特别是涉及数据结构和动态规划的子领域。 【描述】该题目的解题报告详细...

    北大POJ3267-The Cow Lexicon

    北大POJ3267-The Cow Lexicon

    POJ2635-The Embarrassed Cryptographer

    【标题】"POJ2635 - The Embarrassed Cryptographer" 是一道来源于北京大学在线判题系统POJ(Problem Set)的编程题目。这道题目的主要目标是解决一个与密码学相关的问题,通常这类问题会涉及到算法设计、字符串处理...

    POJ2635-The Embarrassed Cryptographer 测试数据

    《POJ2635-The Embarrassed Cryptographer:测试数据解析与算法探讨》 POJ2635,这是一个源自NCPC(全国大学生程序设计竞赛)2005年问题D的编程挑战,名为“尴尬的密码学家”。在本文中,我们将深入探讨这个问题的...

    POJ3982-The Fibonacci sequence

    【标签】"POJ 3982 The Fibonacci sequence"是这个编程问题的标识,便于搜索和分类。POJ平台上的每个题目都有唯一的标签,方便用户查找和回顾。 斐波那契序列是计算机科学中一个基础而重要的概念,它的定义如下:...

    POJ2965-The Pilots Brothers' refrigerator

    在提供的代码文件中,"POJ2965-The Pilots Brothers' refrigerator(DFS+enum).cpp" 应该是使用DFS和枚举实现的解决方案,而 "POJ2965-The Pilots Brothers' refrigerator(DFS+Bit).cpp" 是使用DFS和位运算的版本。...

    poj 1611 The Suspects 代码

    poj 1611 The Suspects 代码 并查集的应用

    poj 3548 Restoring the digits.md

    poj 3548 Restoring the digits.md

    poj 3554 Almost the shortest route.md

    poj 3554 Almost the shortest route.md

    POJ2151-Check the difficulty of problems

    标题“POJ2151-Check the difficulty of problems”是指一个编程竞赛题目,来源于北京大学的在线判题系统POJ(PKU Online Judge)。这个题目要求参赛者编写程序来评估问题的难度。描述中的“解题报告+AC代码”表明...

    POJ2983-Is the Information Reliable【差分约束+优化Bellman】

    《POJ2983-Is the Information Reliable:解析差分约束与优化Bellman算法》 北京大学在线编程平台上的POJ2983题目——"Is the Information Reliable",是一道涉及差分约束系统(Differential Constraint System)与...

    POJ1207-The 3n + 1 problem

    《POJ1207-The 3n + 1 problem》是北京大学在线编程平台POJ上的一道经典算法题目,其主要涉及的知识点是数论和动态规划。本题目的核心是解决著名的“Collatz Conjecture”问题,也被称为“3n+1猜想”。 3n+1猜想是...

    POJ 1054 The Troublesome Frog.rar

    标题中的“POJ 1054 The Troublesome Frog”是一个编程竞赛题目,来源于“Programming Online Judge”(POJ)平台。这个平台是程序员们练习算法和编程技能的地方,通常涉及各种数据结构和算法的问题。题目...

    POJ3267-The Cow Lexicon

    《POJ3267 - The Cow Lexicon》是一道源于北京大学在线判题系统POJ(Problem Online Judge)的编程竞赛题目。这道题目主要涉及数据结构与算法的知识,特别是字符串处理和字典树(Trie)的应用。下面将详细阐述这个...

    POJ3239-Solution to the n Queens Puzzle

    北大POJ3239-Solution to the n Queens Puzzle 解题报告+AC代码

    POJ2388-Who's in the Middle

    《POJ2388-Who's in the Middle》是一个典型的计算机编程竞赛题目,主要考察参赛者的算法设计和实现能力。这个题目源自北京大学的在线评测系统POJ(PKU Online Judge),是编程爱好者和学生提升编程技能的重要平台之...

Global site tag (gtag.js) - Google Analytics