UVa 11437 (梅涅劳斯定理) Triangle Fun

题意:

给出三角形ABC顶点的坐标,DEF分别是三边的三等分点。求交点所形成的三角形PQR的面积。

分析:

根据梅涅劳斯定理,我们得到:

,解得

 

另外还有:,解得

所以AR : RP : PD = 3 : 3 : 1

同理,BE和CF也被分成这样比例的三段。

△ADC = (2/3)△ABC

△CDR = (4/7)△ADC

△CPR = (3/4)△CDR

△PQR = (1/2)△CPR

所以:△PQR = (1/7)△ABC

 

 1 #include <cstdio>
 2 #include <cmath>
 3 struct Point
 4 {
 5     double x, y;
 6     Point(double x=0, double y=0):x(x), y(y) {}
 7 };
 8 typedef Point Vector;
 9 Point operator - (const Point& a, const Point& b)
10 {
11     return Point(a.x-b.x, a.y-b.y);
12 }
13 double Cross(Vector a, Vector b)
14 {
15     return a.x*b.y - a.y*b.x;
16 }
17 double area(const Point& a, const Point& b, const Point& c)
18 {
19     return fabs(Cross(b-a, c-a)/2);
20 }
21 
22 int main()
23 {
24     //freopen("11437in.txt", "r", stdin);
25     int T;
26     scanf("%d", &T);
27     while(T--)
28     {
29         Point a, b, c;
30         scanf("%lf%lf%lf%lf%lf%lf", &a.x, &a.y, &b.x, &b.y, &c.x, &c.y);
31         double ans = area(a, b, c) / 7;
32         printf("%d\n", (int)floor(ans+0.5000));
33     }
34     return 0;
35 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4055962.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值