NC200373. Viviani
描述
输入描述
依次给出等边三角形的3个顶点坐标A, B, C 和P点的二维几何坐标。( )
保证P点在等边三角形内,包括边。
输出描述
如图,求P点到各边的距离和(s + t + u)。
只要你的答案与标准答案误差的绝对值在以内都会算作正确。
示例1
输入:
0 0 10 0 5 8.66025403784 5 2.88675134595
输出:
8.66025403784
C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 404K, 提交时间: 2019-12-14 12:45:55
#include<bits/stdc++.h> using namespace std; double x[10],y[10]; int main() { for(int i=0;i<4;++i) scanf("%lf%lf",x+i,y+i); printf("%.10f\n",sqrt(3*((x[0]-x[1])*(x[0]-x[1])+(y[0]-y[1])*(y[0]-y[1])))/2); return 0; }
C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 476K, 提交时间: 2022-08-06 14:27:43
#include<iostream> #include<cmath> using namespace std; int main() { double a,b,c,d,m; cin>>a>>b>>c>>d>>m>>m>>m>>m; double q=sqrt((a-c)*(a-c)+(b-d)*(b-d)); double sum=0.5*sqrt(3)*q; printf("%.11f",sum); return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 472K, 提交时间: 2022-09-01 09:35:58
#include<bits/stdc++.h> using namespace std; double a,b,c,d; int main() { cin>>a>>b>>c>>d; printf("%.8f",sqrt(3)/2*sqrt((a-c)*(a-c)+(b-d)*(b-d))); }
Python3(3.5.2) 解法, 执行用时: 32ms, 内存消耗: 3380K, 提交时间: 2019-12-13 22:55:22
a=list(map(float,input().split())) b=list(map(float,input().split())) print((((a[0]-b[0])**2+(a[1]-b[1])**2)**0.5)*3**0.5/2)