24h購物| | PChome| 登入
2014-01-30 15:09:37| 人氣1,767| 回應0 | 上一篇 | 下一篇

[ZJ][中線定理] d408. 我要最小值 (Part 2)

推薦 0 收藏 0 轉貼0 訂閱站台

內容 :

三角形ABC內部一點P

請求:

PA2+PB2+PC2的最小值!

 

輸入說明 :

第一行輸入正整數N代表接下來有N組測資,1<=N<=5000

N=0時代表輸入結束,不須處裡這行輸入。

接下來N行每行有三個正整數a,b,c代表三角形的三邊長

1<=a,b,c<=1000

並且保證a,b,c可構成三角形

 

輸出說明 :

針對每個三角形ABC

找到內部一點P使得PA2+PB2+PC2有最小值

輸出這個最小值並四捨五入到小數點以下第1位

範例輸入 : 
1
1 1 1
2
4 4 4
5 5 5
0

範例輸出 :

1.0
16.0
25.0

P 點為重心。使用中線定理求解。

#include <stdio.h>
#include <math.h>
using namespace std;

int main() {
int n;
while(scanf("%d", &n) == 1 && n) {
while(n--) {
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
double ma2, mb2, mc2;
mc2 = (a*a + b*b - c*c/2)/2;
mb2 = (a*a + c*c - b*b/2)/2;
ma2 = (c*c + b*b - a*a/2)/2;
printf("%.1lf\n", (ma2 + mb2 + mc2) * 4 / 9.0);
}
}
return 0;
}

台長: Morris
人氣(1,767) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: ZeroJudge |
此分類下一篇:[ZJ][KD Tree] b256. E. 大風吹
此分類上一篇:[ZJ][遞迴] d734. 另类Hanoi

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文