直线经过两点 A(x_1, y_1, z_1) 与 B(x_2, y_2, z_2) 方向向量为两点间的差: #include <bits/stdc++.h> using namespace std; typedef long long ll; //水平面的高度h //小歪的坐标(0,0,0) //要射的点的坐标假设为(x,y,z) //由空间中直线的两点式子可得射线的向量表示形式为(x_2 - x_1, y_2 - y_1, z_2 - z_1) = (x - 0, y - 0, z+2*(h - z)) //找两个数的最大公约数 ll gcd2(ll a, ll b) { w...