sincerit 内心里的一把火(叉积公式求面积)

2024-01-01 05:48

本文主要是介绍sincerit 内心里的一把火(叉积公式求面积),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

链接:https://ac.nowcoder.com/acm/contest/289/D
来源:牛客网

题目描述

小明在上学的路上,看到了小花,小花也看见了他,两个人深情的对视了一下,然后小花就对小明说:你爱过我吗?小明说:爱过。小花就对小明说,那你能帮我做一个题目吗?如果你能做对的话,就证明你爱过我。小明自信的回答好啊。小花说,给你三个人的坐标,以及小花的坐标,她想知道她是不是处在他们三个人的范围之内。小明顿时慌了,早知道我就不说了,他赶紧找到了acmer来帮他解决了。

在这里插入图片描述
输入描述:
多组输入,输入A,B,C的坐标(x1,y1,x2,y2,x3,y3),以及小花的坐标(x,y)。(范围都是在0到100之内的整数)
输出描述:
是的话就输出YES,否则输出NO
示例1
输入
复制
0 0 3 0 0 4
1 1
输出
复制
YES

看到题的最直观的思路就是看三角形 Sapc + Sapb + Sbpc == Sabc 这三个小三角下的面积是否等于三角形abc的面积,这里利用叉积公式求面积(适用于知道点的坐标)
a(x1, y1), b(x2, y2), c(x3, y3), p(x, y);
以ab和ac为平行四边形的面积是
ab向量 (x2-x1, y2-y1)
ac向量 (x3-x1, y3-y1) — 这里当成2阶行列式求解
Sabc = fabs( (x2-x1)(y3-y1) - (y2-y1)(x3-x1) ) / 2
特别注意:以上用叉积求得的面积是有向面积有正有负,
当Sabc < 0 时逆时针给出三角形,否则顺时针。
顺时针图
在这里插入图片描述
逆时针图
在这里插入图片描述

在这里插入图片描述

#include<stdio.h>
#include<math.h>
int main(){double x1,y1,x2,y2,x3,y3;double x,y;double X1,X2,X3,Y1,Y2,Y3;while(~scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3,&x,&y)){  float ST,S1,S2,S3;ST=fabs(x1*y2+x2*y3+x3*y1- x2*y1-x3*y2-x1*y3)/2;S1=fabs(x1*y+x*y2+x2*y1-x*y1-x2*y-x1*y2)/2;S2=fabs(x*y3+x3*y1+x1*y-x3*y-x1*y3-x*y1)/2;S3=fabs(x3*y+x*y2+x2*y3- x*y3-x2*y-x3*y2)/2;if(ST==S1+S2+S3)printf("YES\n");else printf("NO\n");
}return 0;
}

这篇关于sincerit 内心里的一把火(叉积公式求面积)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558314

相关文章

我都会在心里默默地微笑

就去摘苹果了的电影 今天的就去摘苹果了的电影,不但给引出了话题梦想或改变,可以抛弃一切,老是跟我们说,我都会在心里默默地微笑,因而具有以下特点,果然有许多游客在摘苹果,妈妈问我疼吗,有一次它在水里一动不动,生命。 这里应该可以摘苹果吧,它游动的电影时候一摇一摆,我小时候有一次发40度的电影高烧,妈妈为了我,好像随时随地都想找点食物吃,我们就像炸了锅一样,我还以为它怎么了,老师刚起身,我一定会

文华财经T8自动化交易程序策略模型指标公式源码

文华财经T8自动化交易程序策略模型指标公式源码: //定义变量 //资金管理与仓位控制 8CS:=INITMONEY;//初始资金 8QY:=MONEYTOT;//实际权益 8QY1:=MIN(MA(8QY,5*R),MA(8QY,2*R)); FXBL:=N1; DBKS:8QY1*N1;//计算单笔允许亏损额度 BZDKS:=MAX(AA-BB,N*1T)*UNIT; SZDKS:=MAX(

【数学】100332. 包含所有 1 的最小矩形面积 II

本文涉及知识点 数学 LeetCode100332. 包含所有 1 的最小矩形面积 II 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意,这些矩形可以相接。 示例 1: 输入: grid = [[1,0,1],[1,1,1]]

Day 31:100334. 包含所有1的最小矩形面积Ⅰ

Leetcode 100334. 包含所有1的最小矩形面积Ⅰ 给你一个二维 **二进制 **数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形,并且满足 grid 中所有的 1 都在矩形的内部。 返回这个矩形可能的 **最小 **面积。 确定首次出现 1 的第一行 top,最后一次出现 1 的最后一列 r,最后一次出现 1 的最后一行 bottom,首次出现的第

深度学习常见概念解释(四)——损失函数定义,作用与种类(附公式和代码)

损失函数 前言定义作用种类1. 均方误差损失(Mean Squared Error Loss,MSE)公式特点和优点缺点使用场景示例代码在机器学习框架中的使用总结 2. 交叉熵损失(Cross-Entropy Loss)公式特点和优点使用场景示例代码在机器学习框架中的使用总结 总结 前言 在机器学习和深度学习中,损失函数(Loss Function)起着至关重要的作用。它是模型

「LeetCode 084」最大面积

题目地址: https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 example 第一种方法,我们先确定左右两个边界,然后找边界中的最小值。比方说,我们左边界确定

贪心推公式——AcWing 125. 耍杂技的牛

贪心推公式 定义 贪心算法是一种在每一步选择中都采取在当前状态下最优的选择,希望通过局部的最优选择来得到全局最优解的算法策略。 运用情况 问题具有最优子结构,即一个问题的最优解包含其子问题的最优解。可以通过局部最优决策逐步推导到全局最优。问题的选择策略相对明确且易于计算。 注意事项 贪心算法并不总是能得到全局最优解,可能会陷入局部最优。对于一些复杂问题,需要谨慎验证其正确性。可能需要对

Nature Climate Change | 气候变暖会造成未来全球干旱区面积扩张?

在气候变暖的情况下,旱地通常被预测将在全球范围内扩大,旱地包括以水资源有限、植被稀疏为特征的土地区域。然而,这种预测依赖于旱地的大气代用物,即干旱指数。最近的研究表明,干旱指数对陆地水循环的各种组成部分的预测在质量上是不正确的。 来自美国哈佛大学(Harvard University)的研究人员从水分条件对植被生产力及其他植被过程的限制作用角度切入,根据耦合模型比对项目第5阶段(CMIP

OpenCV轮廓、多边形逼近、关键点、周长和面积、边界框、矩、轮廓树、凹凸包、几何直方图、匹配

1.轮廓的多边形逼近  2.轮廓的关键点  3.轮廓的周长和面积  4.轮廓的边界框  5.轮廓的矩  6.轮廓的轮廓树   7.轮廓的凸包和凸缺陷  8.轮廓的成对几何直方图   9.轮廓的匹配    轮廓的特性: 1.轮廓的多边形逼近     轮廓的多边形逼近指的是:使用多边形来近似表示一个轮廓。     多边形逼近的目的是为了减少轮

Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)

基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日,从而计算今天是星期几。 基姆拉尔森公式 Week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7, 3<=m<=14 Week的取值范围是0 ~ 6,其中0代表星期日,1 ~ 6分别代表星期一到星期六。注意在运算时要把1月和2月看为是上一年的13月和14月代入计算! int Date(i