NC201604. Audio
描述
输入描述
共三行:每行两个整数与
,三点不共线。
数据满足:。
输出描述
共一行:两个实数,表示Nancy欣赏音乐会的地点(保留三位小数)
示例1
输入:
0 0 1 3 4 2
输出:
2.000 1.000
pypy3(pypy3.6.1) 解法, 执行用时: 51ms, 内存消耗: 18816K, 提交时间: 2020-08-18 12:04:55
x1,y1=map(float,input().split()) x2,y2=map(float,input().split()) x3,y3=map(float,input().split()) k_12=(y1-y2)/(x1-x2) k1=-1/k_12 x_1=(x1+x2)/2 y_1=(y1+y2)/2 b1=y_1-k1*x_1 k_23=(y2-y3)/(x2-x3) k2=-1/k_23 x_2=(x2+x3)/2 y_2=(y2+y3)/2 b2=y_2-k2*x_2 posx=(b2-b1)/(k1-k2) posy=k1*posx+b1 print(f'{posx:.3f} {posy:.3f}')
C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2020-02-06 21:13:26
#include<stdio.h> main() {double x1,y1,x2,y2,x3,y3,x,y,k1,k2,x0,y0,x00,y00; scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3); k1=(x1-x2)/(y2-y1); k2=(x1-x3)/(y3-y1); x0=(x1+x2)/2; y0=(y1+y2)/2; x00=(x1+x3)/2; y00=(y1+y3)/2; x=(y00-y0+k1*x0-k2*x00)/(k1-k2); y=k1*(x-x0)+y0; printf("%.3lf %.3lf",x,y); }
Python3(3.5.2) 解法, 执行用时: 31ms, 内存消耗: 3436K, 提交时间: 2020-02-21 20:35:58
x1,y1=list(map(int,input().split())) x2,y2=list(map(int,input().split())) x3,y3=list(map(int,input().split())) b = ((x1**2+y1**2-x3**2-y3**2)*(x1-x2)-(x1**2+y1**2-x2**2-y2**2)*(x1-x3))/2/((y1-y3)*(x1-x2)-(y1-y2)*(x1-x3)) a = (x1**2+y1**2-x2**2-y2**2-2*b*y1+2*b*y2)/2/(x1-x2) print("%.3lf %.3lf"%(a,b))
C++14(g++5.4) 解法, 执行用时: 6ms, 内存消耗: 504K, 提交时间: 2020-08-18 21:40:08
#include<iostream> using namespace std; int main(){ double k,l,q,w,e,a,s,d,z,x,c,v,b,n; cin>>q>>w>>e>>a>>s>>d; z = 0.5*(e*e-q*q+a*a-w*w); x = 0.5*(s*s-q*q+d*d-w*w); c = e-q; v = a-w; b = s-q; n = d-w; k = (z*n-x*v)/(c*n-v*b); l = (x*c-z*b)/(c*n-v*b); printf("%.3f %.3f",k,l); return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 504K, 提交时间: 2020-08-18 10:01:29
#include<iostream> using namespace std;int main(){double k,l,q,w,e,a,s,d,z,x,c,v,b,n;cin>>q>>w>>e>>a>>s>>d;z = 0.5*(e*e-q*q+a*a-w*w);x = 0.5*(s*s-q*q+d*d-w*w);c = e-q;v = a-w;b = s-q;n = d-w;k = (z*n-x*v)/(c*n-v*b);l = (x*c-z*b)/(c*n-v*b);printf("%.3f %.3f",k,l);return 0;}