51nod1265判斷四點共面

2022-04-27 16:28:20 字數 1063 閱讀 5571

1265 四點共面

基準時間限制:1 秒 空間限制:131072 kb 分值: 0 難度:基礎題

收藏關注給出三維空間上的四個點(點與點的位置均不相同),判斷這4個點是否在同乙個平面內(4點共線也算共面)。如果共面,輸出"yes",否則輸出"no"。

input

第1行:乙個數t,表示輸入的測試數量(1 <= t <= 1000)

第2 - 4t + 1行:每行4行表示一組資料,每行3個數,x, y, z, 表示該點的位置座標(-1000 <= x, y, z <= 1000)。

output

輸出共t行,如果共面輸出"yes",否則輸出"no"。
input示例

1

1 2 0

2 3 0

4 0 0

0 0 0

output示例

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,表示該點的位置座標...