問題1:遍歷所有可能的3個點
for
(
int
i = 0; i < n; i++)
for
(
int
j = i + 1; j < n; j++)
for
(
int
k = j + 1; k < n; k++)
問題2:判斷3個點是否能組成三角形
double
a = dis(i, j);
//計算兩點距離
double
b = dis(i, k);
double
c = dis(k, j);
if
(a < (b + c) && b < (a + c) && c < (a + b))
return
false
;
問題3:判斷顏色是否相同或全不同
if
(v[i].c == v[j].c && v[j].c == v[k].c)
else
if
(v[i].c != v[j].c &&v[i].c != v[k].c&&v[k].c != v[j].c)
return
false
;
double a = l3(i, j);//求三邊的長度
double b = l3(i, k);
double c = l3(k, j);
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
#includeusing namespace std; /*
3r 0 0 0
r 0 4 0
b 0 0 3*/
struct node;
double max = 0;
int n;
vectorv;
//計算兩點之間的舉例
double l3(int i, int j)
//判斷是否是三角形
bool issan(int i, int j, int k)
return false;}
//判斷顏色
bool iscolour(int i, int j, int k)
else if (v[i].c != v[j].c &&v[i].c != v[k].c&&v[k].c != v[j].c)
return false;}
//計算三角形面積
double cmputearea(int i, int j, int k)
//遍歷所有可能的三個點
void run()}}
}}}
int main()
run();
printf("%.5lf", max);
}
三角形面積
算是自己第一道正式寫的演算法幾何吧,先從簡單的開始吧,加油!描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入 每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入結束...
三角形面積
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入...
三角形面積
題目描述 我願為自己加上private 在你的class中 只有你能呼叫 lily的老師給他出了乙個問題,給出三角形的三邊長abc,lily要計算出這個三角形的面積,liy比較懶 週末要睡覺嘛 現在要向你求助。輸入有多組測試資料,第一行輸入乙個整數t表示測試資料的組數。接下來t組測試資料,每組測試資...