51NOD1265(四点共面)

2024-09-07 19:32
文章标签 四点 51nod1265

本文主要是介绍51NOD1265(四点共面),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:点击打开链接


解题思路:

  判断四点共面,先求出三点构成的平面的法向量(叉积),如果第四个点和前三点任意一点构成的向量与平面法向量垂直(点积为0),则四点共面.

   回忆下叉积和点积.对于三位空间向量,叉积公式为

=(
),
=(
), a× b=(
-
) i+(
-
) j+(
-
) k,

写成行列式形式 .点积公式为

 , x1 * x2 + y1 * y2,自行扩展至三维.


完整代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <climits>
#include <cstdio>
#include <string>
#include <cmath>
#include <set>
#include <queue>
#include <map>
#include <vector>
#include <cstdlib>
#include <stack>
#include <time.h>
using namespace std;
typedef long long LL;
const int MOD = int(1e9)+7;
const int INF = 0x3f3f3f3f;
const double EPS = 1e-9;
const double PI = acos(-1.0); //M_PI;
const int maxn = 100001;class Point_3
{
public:double x , y , z;Point_3() {}Point_3(double xx , double yy , double zz) : x(xx)  , y(yy) , z(zz) {}void input(){scanf("%lf%lf%lf",&x,&y,&z);}friend Point_3 operator  - (const Point_3 &a , const Point_3 &b){return Point_3(a.x - b.x , a.y - b.y , a.z - b.z);}
};Point_3 det(const Point_3 &a , const Point_3 &b)
{return Point_3(a.y * b.z - a.z * b.y , a.z *b.x - a.x * b.z , a.x * b.y - a.y * b.x);
}double dot(const Point_3 &a , const Point_3 &b)
{return a.x * b.x + a.y * b.y + a.z * b.z;
}Point_3 pvec(Point_3 &s1 , Point_3 &s2 , Point_3 s3)
{return det((s1 - s2) , (s2 - s3));
}bool zreo(double x)
{return fabs(x) < EPS;
}int dots_onplane(Point_3  a , Point_3 b  , Point_3 c , Point_3 d )
{return zreo(dot(pvec(a , b , c ) , d - a));
}int main()
{
#ifdef DoubleQfreopen("in.txt","r",stdin);
#endifint T;scanf("%d",&T);while(T--){Point_3 a , b , c , d;a.input();b.input();c.input();d.input();if(dots_onplane(a , b , c , d))printf("Yes\n");elseprintf("No\n");}return 0;
}/*************************************************
*
*   Copyright By DoubleQ
*   Written in 2015
*   Blog Address : zhanghe.ac.cn
*                  http://blog.csdn.net/u013447865
*   Email Address: acmer_doubleq@qq.com
*
*************************************************/


这篇关于51NOD1265(四点共面)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

seo网站优化的四点必不可少

一、用户体会优先   查找引擎算法不断趋于完善,对网站质量的判别就加重在了用户体会上面。网站文章的优化也要注重用户体会,比方,文章的排版,文章的可读性,文章中刺进关键字时,不能影响文章的通畅性等。   二、自创质量及关联性   写一篇高质量的自创关于查找引擎来说是十分友爱的,即便不是全自创,也要进行伪自创,由于查找引擎喜爱新鲜的东西,不喜爱重复的内容。文章内容,炉前分析仪一方面要与网站

只需做好这四点即可助力小程序排名优化登顶!

1.用户历史操作权重: 小程序会根据用户的历史操作行为(如点击、收藏、购买、支付等)来调整搜索排名。这些行为会被微信客户端记录,并在搜索时展示在前列,比如说那个“使用过”。这主要是为了保护用户习惯,确保用户能够更方便地找到他们感兴趣的小程序。 2.小程序基础信息: 小程序的名称、简介、标签等基础信息中的关键词也会影响搜索排名。其中,标题词的权重最大,简介次之。因此,优化师在设置这些信息时,应

20240506——凌晨四点敲的latex公式

ρ ≥ 1 \bm{\rho \ge 1} ρ≥1为多项式函数的次数 σ > 1 \bm{\sigma \gt 1} σ>1为多项式函数的次数 σ > 0 , θ < 0 \bm{\sigma \gt 0,\theta \lt 0} σ>0,θ<0 K ( x , z ) = x ⋅ z \bm{K (x,z) = x·z} K(x,z)=x⋅z K ( x , z ) = ( x ⋅

《学一辈子光线追踪》 四点五 代码对比分析

蒙特卡洛光线追踪技术系列 见 蒙特卡洛光线追踪技术 先粘贴一下以前的lambertian代码: class lambertian :public material {public:lambertian(texture*a):albedo(a){}virtual bool scatter(const ray& r_in, const hit_record& rec, vec3& attenua

四点共圆的判定

题目来源:NEFU OJ-2248& 湖南大学2020届ACM新生赛(同步赛) F OP 此题不难,只不过推导比较闹心,多推几遍就AC了。 思路 判断四点共圆,特殊方法是对角互补,但是由于此题中未强调顺序,判断对角有一定的难度。故采用更通用的方法: 设四点为A,B,C,D(顺序无关) 先任取三点A、B、C 当A、B、C 不共线时: \首先通过AB、AC的中垂线交点确定距此三点距离相等的

四点小经验

1、软件开发中,不要养成靠调试器去发现错误的习性。编写代码时一定要检查再检查,在头脑中运行没有问题,再进行编译调试。2、在写比较语句时把常量写在前面,这样可以比较容易的发现把==写成=的错误。3、写程序前花上一个小时构思流程都是值得的,不要着急写代码4、不一定总要用字符串表达意思,可以用宏.

关于直播营销,企业应该如何做呢?这四点是你要思考的

除了培训、带货等场景,企业还可以做什么类型的直播呢? 其实直播营销不错,毕竟直播有着强互动、强社交、传播广等特点,快速涨粉并传递更全面的信息,直播营销一时备受欢迎。 而一场优质的直播营销活动应该怎么做呢?企业可以从直播目标、直播方案、应急预案、数据复盘这四点来考虑。 1、明确直播目标 直播目标要从企业实际出发,不要大而空,并且要具有确定性和可实现性的特点,让直播团队成员为共同的目标一起努力

十年前初中被删的初恋,凌晨四点突然加我…

点击上方“开发者技术前线”,选择“星标” 每天 13.21 在看 | 真爱 作者:第一名的小蝌蚪 | 来源:前端屌丝 背景 今天凌晨一点,突然有个人加我的qq,一看竟然是十年前被我删掉的初恋…… 因为之前在qq空间有太多的互动,所以qq推荐好友里面经常推荐我俩互相认识……谜之尴尬 img 同意好友申请以后,仔细看了她这十年间所有的qq动态和照片。 她变美了,会打扮了,以前瘦瘦的身材配上现

科二科三考试紧张怎么办?这四点轻松建立考试好心态

不少学员挂科,不是输在技术上,而是输在心态上。适度的紧张,考试时可以更专注,但过度的紧张,就会严重影响考试发挥,犯一些平常不会犯的错误。 其实学车考试不仅是考技术,很大程度上还考察了学员的考试心态,那么如何建立良好考试心态呢? 1.对考试没有把握 练车的过程中遇到过挫折,或者先前挂过科,甚至只剩一两次考试机会,于是对考试没有信心,对考试产生了畏惧的心理。 对策:学车最怕就是对问题视而不见

邦芒解析:跳槽到管理职位须分析的四点

如果跳槽到一般的管理职位,需要应聘者至少进行四方面的分析:   ​一、自己实际的背景。包括应聘者所从事的行业、专业是什么?实际工作年限是多少、积攒了什么样的经验、已取得的业绩等;   ​二、自己真实的能力。除了有好的业绩、丰富的经验外,招聘单位还需要考察你是否有对事物的掌控能力,对突发事件的紧急应对能力,有没有开阔的投资视野等等;   ​三、自己是否坚持后续学习。很多公司很看中员工这种自觉学