結果

問題 No.132 点と平面との距離
ユーザー takakintakakin
提出日時 2020-07-16 23:07:36
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 4,953 ms / 5,000 ms
コード長 538 bytes
コンパイル時間 350 ms
コンパイル使用メモリ 10,932 KB
実行使用メモリ 8,424 KB
最終ジャッジ日時 2023-08-17 02:10:58
合計ジャッジ時間 7,951 ms
ジャッジサーバーID
(参考情報)
judge11 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 194 ms
7,924 KB
testcase_01 AC 1,420 ms
8,424 KB
testcase_02 AC 4,953 ms
8,404 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input=lambda: sys.stdin.readline().rstrip()
n=int(input())
x1,y1,z1=map(float,input().split())
XYZ=[]
for _ in range(n):
	x,y,z=map(float,input().split())
	XYZ.append((x-x1,y-y1,z-z1))

def f(p1,p2,p3):
	x1,y1,z1=p1
	x2,y2,z2=p2
	x3,y3,z3=p3
	a=(y2-y1)*(z3-z1)-(z2-z1)*(y3-y1)
	b=(z2-z1)*(x3-x1)-(x2-x1)*(z3-z1)
	c=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)
	d=-(a*x1+b*y1+c*z1)
	return abs(d)/((a**2+b**2+c**2)**0.5)

ans=0
for i in range(n):
	for j in range(i+1,n):
		for k in range(j+1,n):
			ans+=f(XYZ[i],XYZ[j],XYZ[k])
print(ans)


0