HDU1071_数学几何
生活随笔
收集整理的這篇文章主要介紹了
HDU1071_数学几何
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目大意: 給你三個點p1,p2,p3,p1是最高點,然后算出面積。 解題思路: 我的解題思路有點水,就是直接求拋物線系數,直線系數,最后求積分搞定e.盡量少用中間變量吧。代碼有點丑。雖然這道題目是1a,但是還是有點兒毛毛的,就是怕三個點重合在一起,但是好像沒有這種情況,測試數據應該還是比較弱吧。哈哈~ 自言自語: 一開始都懶得去用筆化簡,但是畫出來的時候,真爽,復雜的計算過程都由計算機包了,不過就是怕把公式敲到程序上,不小心就錯了。額,剛剛出現了一個這樣的問題,所以,做這種題,寧可慢慢來,一定要細心。 代碼: #include
#include
using namespace std;int main(void)
{int n;double x1, x2, x3, y1, y2, y3;scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%lf%lf", &x1, &y1);scanf("%lf%lf", &x2, &y2);scanf("%lf%lf", &x3, &y3);double a, b, c, k, b1;a = ((x2-x1)*(y3-y2)-(x3-x2)*(y2-y1))/ ((pow(x3,2)-pow(x2,2))*(x2-x1)-(pow(x2,2)-pow(x1,2))*(x3-x2));b = ((y2 - y1) - a*(pow(x2,2) - pow(x1,2))) / (x2 - x1);c = y1 - a*pow(x1,2) - b*x1;k = (y3-y2) / (x3-x2);b1 = y3 - k*x3;//計算面積double s;s = a/3*(pow(x3,3)-pow(x2,3)) + (b-k)/2*(pow(x3,2)-pow(x2,2)) + (c-b1)*(x3-x2);printf("%.2lf\n", s);}return 0;
}
轉載于:https://www.cnblogs.com/cchun/archive/2012/02/12/2520218.html
總結
以上是生活随笔為你收集整理的HDU1071_数学几何的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把我最好的爱留给你
- 下一篇: mongodb和SQL语句对应查找表