尋找三角形

2021-08-10 10:23:04 字數 1123 閱讀 8184

尋找三角形

時間限制:1秒

空間限制:

32768k

三維空間中有

n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用

'r','g', 'b'

表示。現在要找出三個點,並組成乙個三角形,使得這個三角形的面積最大。

但是三角形必須滿足:三個點的顏色要麼全部相同,要麼全部不同。

輸入描述:

首先輸入乙個正整數

n三維座標系內的點的個數

.(n <= 50)

接下來

n行,每一行輸入

c x y z,c

為'r', 'g', 'b'

的其中乙個。x,

y,z是該點的座標。

(座標均是0到

999之間的整數

)

輸出描述:

輸出乙個數表示最大的三角形面積,保留

5位小數。

輸入例子1:

5
r 0 0 0
r 0 4 0
r 0 0 3
g 92 14 7
g 12 16 8

輸出例子1:

6.00000
解題思路:

1.遍歷所有可能的

3個點,判斷顏色是否相同或全不同

2.判斷

3個點是否能構成三角形

3.計算三角形面積(海**式)

4.輸出最大面積

#include#include#includeusing namespace std;

struct point

;double get********(point a,point b,point c)

else

return -1;

}int main()

{ int n,i,j,k;

point p[50];

double mins=0,s;

scanf("%d",&n);

for(i=0;i>p[i].c >>p[i].x >>p[i].y >>p[i].z;

for(i=0;i

尋找三角形

三維空間中有n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用 r g b 表示。現在要找出三個點,並組成乙個三角形,使得這個三角形的面積最大。但是三角形必須滿足 三個點的顏色要麼全部相同,要麼全部不同。輸入描述 首先輸入乙個正整數n三維座標系內的點的個數.n 50 接下來n行,每...

尋找三角形

三維空間中有n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用r g b表示。現在要找出三個點,並組成乙個三角形,使得三角形的面積最大。三角形必須滿足 三個點顏色要麼全部相同,要麼全部不同。輸入描述 首先輸入乙個正整數n n 50 三維座標系內的點的個數。接下來n行,每一行輸入 c...

程式設計題 尋找三角形

三維空間中有n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用 r g b 表示。現在要找出三個點,並組成乙個三角形,使得這個三角形的面積最大。但是三角形必須滿足 三個點的顏色要麼全部相同,要麼全部不同。輸入描述 首先輸入乙個正整數n三維座標系內的點的個數.n 50 接下來n行,每...