1265 四點共面
基準時間限制:1 秒 空間限制:131072 kb 分值: 0 難度:基礎題
收藏關注給出三維空間上的四個點(點與點的位置均不相同),判斷這4個點是否在同乙個平面內(4點共線也算共面)。如果共面,輸出"yes",否則輸出"no"。
input
第1行:乙個數t,表示輸入的測試數量(1 <= t <= 1000)output第2 - 4t + 1行:每行4行表示一組資料,每行3個數,x, y, z, 表示該點的位置座標(-1000 <= x, y, z <= 1000)。
輸出共t行,如果共面輸出"yes",否則輸出"no"。input示例
1output示例1 2 0
2 3 0
4 0 0
0 0 0
yes題意:中文題
思路:判斷四點是否共面問題,點乘和叉乘的應用,任意向量到某一三角形平面的法向量垂直,則四點共面;
還有一種思路是利用行列式:
若行列式為0,則共面;否則不共面。
下面只給出第一種思路的**:
#include#includeusing namespace std;
typedef long long ll;
struct point
};double dot_product(const point &a, const point &b)
point cross_product(const point &a, const point &b)
int main()
puts(dot_product(p[3] - p[0], cross_product(p[2] - p[0], p[1] - p[0])) == 0.0 ? "yes\n" : "no\n");
}return 0;
}
51nod1265四點共面
原題鏈結 四點共面即以某點指向其它三點的向量的混合積為0 如下 include include include include include include include include include include include include define ll long long us...
51Nod 1265 四點共面
1265 四點共面 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出三維空間上的四個點 點與點的位置均不相同 判斷這4個點是否在同乙個平面內 4點共線也算共面 如果共面,輸出 yes 否則輸出 no input 第1行 乙個數t,表示輸入的測試數量 1 t 1000 ...
51nod1265 四點共面
傳送門 點我 給出三維空間上的四個點 點與點的位置均不相同 判斷這4個點是否在同乙個平面內 4點共線也算共面 如果共面,輸出 yes 否則輸出 no input 第1行 乙個數t,表示輸入的測試數量 1 t 1000 第2 4t 1行 每行4行表示一組資料,每行3個數,x,y,z,表示該點的位置座標...