• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            acm zoj1090解題報告

            Posted on 2010-09-19 22:44 李東亮 閱讀(1510) 評論(0)  編輯 收藏 引用
             

            The Circumference of the Circle

            本題在ZOJ上題號是1090,在POJ上是2242。題目描述如下:

            Description

            To calculate the circumference of a circle seems to be an easy task - provided you know its diameter. But what if you don't?

            You are given the cartesian coordinates of three non-collinear points in the plane.
            Your job is to calculate the circumference of the unique circle that intersects all three points.

            Input

            The input will contain one or more test cases. Each test case consists of one line containing six real numbers x1,y1, x2,y2,x3,y3, representing the coordinates of the three points. The diameter of the circle determined by the three points will never exceed a million. Input is terminated by end of file.

            Output

            For each test case, print one line containing one real number telling the circumference of the circle determined by the three points. The circumference is to be printed accurately rounded to two decimals. The value of pi is approximately 3.141592653589793.

            Sample Input

            0.0 -0.5 0.5 0.0 0.0 0.5

            0.0 0.0 0.0 1.0 1.0 1.0

            5.0 5.0 5.0 7.0 4.0 6.0

            0.0 0.0 -1.0 7.0 7.0 7.0

            50.0 50.0 50.0 70.0 40.0 60.0

            0.0 0.0 10.0 0.0 20.0 1.0

            0.0 -500000.0 500000.0 0.0 0.0 500000.0

            Sample Output

            3.14

            4.44

            6.28

            31.42

            62.83

            632.24

            3141592.65

            分析:本題是一道比較容易的題,具體就考察了幾個數學公式的使用。本題的關鍵是求出內接三角形的外接圓直徑。而在圓的內接三角形的性質中有這樣一條:三角形的任何兩邊的乘積的等于第三邊上的高于其外接圓直徑的乘積。這樣問題就轉化為求接三角形的某一邊上的高,在知道三角形三個頂點的情況下,求其面積應該是件容易事,求得面積后,高的問題也就迎刃而解。求面積時,由于本人較懶,用的是海倫公式:S = ,其中p = (a+b+c)/2abc分別為三角形的三個變長,S=0.5*c*h,即可求得ha*b=h*d,那么直徑d也就出來了。具體代碼如下.

            #include <stdio.h>

            #include <stdlib.h>

            #include <math.h>

            int main(void)

            {

                   double x1, y1, x2, y2, x3, y3;

                   double l1, l2, l3;

                   double p;

                   double h;

                   double d;

                   while (scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3) == 6)

                   {

                          l1 = sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));

                          l2 = sqrt(pow(x1-x3, 2) + pow(y1-y3, 2));

                          l3 = sqrt(pow(x2-x3, 2) + pow(y2-y3, 2));

                          p = (l1 + l2 + l3)/2;

                          h = sqrt(p*(p-l1)*(p-l2)*(p-l3))*2/l3;

                          d = l1*l2/h;

                          printf("%.2f\n", 3.141592653589793*d);

                   }

                   return 0;

            }

            posts - 12, comments - 1, trackbacks - 0, articles - 1

            Copyright © 李東亮

            亚洲AV日韩AV天堂久久| 久久99久久99精品免视看动漫| 日本高清无卡码一区二区久久| 久久夜色精品国产噜噜噜亚洲AV| 久久亚洲国产精品123区| 久久99久久无码毛片一区二区 | 人人狠狠综合久久88成人| 亚洲欧洲中文日韩久久AV乱码| 久久免费99精品国产自在现线| 精品一区二区久久| 91精品国产综合久久四虎久久无码一级| 一本久道久久综合狠狠爱| 亚洲国产另类久久久精品黑人| 三上悠亚久久精品| 99久久99这里只有免费的精品| 国产成人久久激情91| 91精品国产91热久久久久福利| 久久www免费人成看国产片| 亚洲午夜无码AV毛片久久| 麻豆av久久av盛宴av| 久久久久高潮毛片免费全部播放| avtt天堂网久久精品| 精品久久久久久无码国产| 无码人妻少妇久久中文字幕 | 久久精品人妻中文系列| 人妻精品久久久久中文字幕69| 久久亚洲春色中文字幕久久久| 青青青国产精品国产精品久久久久 | 91精品国产91久久久久久| 久久伊人五月天论坛| 亚洲午夜久久久久久久久久| 91精品国产9l久久久久| 久久这里只有精品视频99| 久久精品亚洲中文字幕无码麻豆| 韩国无遮挡三级久久| 久久婷婷五月综合色99啪ak| 伊人久久大香线蕉AV色婷婷色 | 99久久综合狠狠综合久久| 久久久亚洲欧洲日产国码是AV| 久久91亚洲人成电影网站| 久久人人爽人人爽人人片AV麻烦 |