📄 1310.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1310 on 2006-01-10 at 00:25:55 */
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-1;
inline double dis(double, double, double, double);
inline bool equals(double, double);
int angle(double, double, double);
int main()
{
double x[3], y[3];
while(scanf("%lf %lf %lf %lf %lf %lf",
&x[0], &y[0], &x[1], &y[1], &x[2], &y[2]) == 6) {
double a = dis(x[0], y[0], x[1], y[1]), b = dis(x[0], y[0], x[2], y[2]),
c = dis(x[1], y[1], x[2], y[2]);
double l = max(max(a, b), c);
if(a+b+c-2*l < eps) printf("Not a Triangle\n");
else if(equals(a, b) && equals(b, c)) printf("Equilateral Acute\n");
else {
double s1, s2;
if(equals(a, l)) s1 = b, s2 = c;
else if(equals(b, l)) s1 = a, s2 = c;
else if(equals(c, l)) s1 = a, s2 = b;
int as = angle(s1, s2, l);
if(equals(a, b) || equals(a, c) || equals(b, c)) printf("Isosceles ");
else printf("Scalene ");
if(as == 0) printf("Right\n");
else if(as < 0) printf("Acute\n");
else printf("Obtuse\n");
}
}
printf("End of Output\n");
return 0;
}
inline double dis(double xa, double ya, double xb, double yb)
{
return sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
}
inline bool equals(double d1, double d2)
{
return fabs(d1-d2) < eps;
}
int angle(double a, double b, double c)
{
double p = a*a + b*b - c*c;
if(equals(p, 0)) return 0;
else if(p > eps*eps) return -1;
else return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -