1 条题解

  • 0
    @ 2025-8-24 22:05:00

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar SuperJvRuo
    **

    搬运于2025-08-24 22:05:00,当前版本为作者最后更新于2018-09-25 18:23:30,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这题没个题解,来补一篇。

    直接输出两个向量的向量积(叉积)即可AC。

    设三个轴上的单位向量分别为i,j,ki,j,k,两个向量分别为a=(x1,y1,z1)\vec{a}=(x_1,y_1,z_1)b=(x2,y2,z2)\vec{b}=(x_2,y_2,z_2)。向量积即为$\vec{n}=\vec{a}\times\vec{b}=\begin{vmatrix} i & j & k \\ x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \end{vmatrix}$。

    换成普通初高中生能看懂的:$\vec{n}=(y_1z_2-y_2z_1,z_1x_2-z_2x_1,x_1y_2-x_2y_1)$。

    这个东西的性质之一是可以作为法向量,不信可以带进去试试。三维计算几何经常用这个性质。另一个性质是模长等于absin<a,b>|\vec{a}||\vec{b}|\sin<\vec{a},\vec{b}>,也就是这两个向量形成的平行四边形的面积,二维计算几何比较常用。数学考试做立体几何的时候,别人解方程求法向量,OIer、MOer和PhOer早就用这个口算出结果了。

    #include<cstdio>
    #define LL long long
    
    int main()
    {
        LL a,b,c,d,e,f;
        while(scanf("%lld%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e,&f)!=EOF)
        	printf("%lld %lld %lld\n",b*f-c*e,c*d-a*f,a*e-b*d);
        return 0;
    }
    

    是不是只有我沙雕地交了好几发才发现是多组数据

    • 1

    信息

    ID
    3870
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    0
    已通过
    0
    上传者