Luogu P4894 【GodFly求解法向量】

时间:2022-03-30 18:22:54

个人感觉我的解法比官方题解好理解得多

因为是任意一个法向量嘛,不妨设$x=1$

然后解一个二元一次方程就可以解决了

但是因为要求输出三个整数

Luogu  P4894 【GodFly求解法向量】

Luogu  P4894 【GodFly求解法向量】

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#define int long long
using namespace std;
int x1,y1,z1,x2,y2,z2,x,y,z;
signed main()
{
while(scanf("%lld%lld%lld%lld%lld%lld",&x1,&y1,&z1,&x2,&y2,&z2)==)
{
x=(y2*z1-y1*z2)*y2;
z=(y1*x2-x1*y2)*y2;
y=-x2*(y2*z1-y1*z2)-z2*(y1*x2-x1*y2);
int g=__gcd(x,__gcd(y,z));
x/=g,y/=g,z/=g;
//这两句gcd取最小值用的,因为怕解出来爆long long
printf("%lld %lld %lld\n",x,y,z);
}
return ;
}