UVa11437

求D点坐标:

  D在BC上,直线BC的参数方程为:B+(C-B)*t, 这里D是三等分点,所以D

坐标为B+(C-B)/3 。同理求E点坐标。

然后调用函数求出线段AD和BE的交点P的坐标

同理,求得Q,R的坐标。ΔPQR面积既可有各种方法能够求出来

这种使用直线参数方程求E点坐标的方法,详见白书P257

另:网友的高等数学求法

另:推导公式法,所求面积为ΔABC的1/7

本题除了学会 理解+应用 书中的参数方程外,另外一个值得学习的地方就是如何处理:rounded to the nearest integer.

printf ( "%.0lf\n", ans );

部分代码如下:

Point solve ( Point A, Point B, Point C ) {
    Point D = B*2.0/3 + C/3;
    Vector AD = D-A;
    Point E = C*2.0/3 + A/3;
    Vector BE = E-B;
    return GetLineIntersection(A, AD, B, BE);
}
原文地址:https://www.cnblogs.com/Accoral/p/3137943.html