【百度笔试】寻找三角形

这是一篇关于百度笔试题的解析,题目要求在三维空间的N个点中找到颜色相同或不同的三个点,组成面积最大的三角形。解题思路包括使用海伦公式对所有可能的点组合进行逐一判断。提供了相关代码实现的链接。
摘要由CSDN通过智能技术生成

题目:
三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, 'B’表示。
现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。
但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。


思路:
笨办法,利用海伦公式,各种点的组合逐个判断。
在这里插入图片描述


代码实现:

#include <iostream>
#include <vector>
#include <math.h>
#include <iomanip>
using namespace std;

struct Point{
   
    char c;
    int x, y, z;
};

double count_triangle_area(const Point &a,const Point &b,const Point &c){
   
	double area = -1;
	 
	double side[3];//存储三条边的长度;
 
	side[0] = sqrt(pow(a.x - b.x,2)+pow(a.y - b.y,2) + pow(a.z - b.z,2)); 
	side[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值