UVA 11437 Triangle Fun

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2432

题目大意:任意△ABC中F、D、E分别为三边的三等分点中点,将其分别与对应的顶点相连,得到一个新的△RPQ。

                现在给出△ABC的坐标,求△RPQ的面积

解题思路:用叉积求出△ABC的面积三角形 ABC 的面积= |AxBy - AyBx + BxCy - ByCx + CxAy - CyAx| / 2

                  叉积:   Ax   Ay  1

                                 Bx   By    1     =   AxBy - AyBx + BxCy - ByCx + CxAy - CyAx

                                 Cx   Cy    1

                  可以证明:S△BPQ :S△ABC = 1 : 7

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n;
 5     double Ax,Ay,Bx,By,Cx,Cy;
 6     double are;
 7     while(scanf("%d",&n)!=EOF)
 8     {
 9         while(n--)
10         {
11             scanf("%lf%lf%lf%lf%lf%lf",&Ax,&Ay,&Bx,&By,&Cx,&Cy);
12             are=(Ax*By+Bx*Cy+Cx*Ay-Ay*Bx-By*Cx-Cy*Ax)/(2*7);
13             are>=0?are:-are;
14             printf("%.0lf\n",are);
15         }
16     }
17     return 0;
18 }
posted @ 2017-08-04 11:32  wydxry  阅读(280)  评论(0编辑  收藏  举报
Live2D