A. Triangle 类

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

定义一个 Triangle 类,包含三边 a,b,ca, b, c

要求:

  1. 实现成员函数 isValid(),判断三角形是否合法:
    三边均大于 0,且满足任意两边之和大于第三边。

  2. 实现成员函数 area(),使用海伦公式计算三角形Area:

    s=a+b+c2s = \frac{a+b+c}{2} area=s(sa)(sb)(sc)\text{area} = \sqrt{s(s-a)(s-b)(s-c)}

主函数循环读入三边,若任一边为负数则退出程序;
若为合法三角形则输出面积,保留两位小数;
若为非法三角形则输出提示信息。

输入格式

若干行,每行三个整数 a,b,ca, b, c,以空格分隔。 最后一行保证为 -1 -1 -1

输出格式

  • 若三边均为负数,程序立即结束,无需输出。

  • 若无法构成三角形,输出:

    Invalid Triangle
    
  • 若能构成三角形,输出:

    Area: x.xx
    

    其中 x.xx 为保留两位小数的海伦公式计算结果。

样例

样例输入

1 2 3
3 4 5
8 8 5
-1 -1 -1

样例输出

Invalid Triangle
Area: 19.00
Area: 6.00

数据范围与提示

数据范围

  • 所有测试点中,100a,b,c100-100 \le a,b,c \le 100
  • 合法三角形三边均为正整数且满足三角形不等式。
  • 非法情况包括:存在非正边,或三角形不等式不成立。

提示

  • 使用 cmath 中的 sqrt 计算平方根。
  • 输出面积时,使用 fixedsetprecision(2) 控制格式。