結果
問題 | No.132 点と平面との距離 |
ユーザー | takakin |
提出日時 | 2020-07-16 23:07:36 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 538 bytes |
コンパイル時間 | 272 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-05-04 09:23:51 |
合計ジャッジ時間 | 8,172 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 217 ms
10,880 KB |
testcase_01 | AC | 1,546 ms
10,752 KB |
testcase_02 | TLE | - |
ソースコード
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)