結果
問題 | No.132 点と平面との距離 |
ユーザー |
![]() |
提出日時 | 2021-04-24 19:32:37 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 919 bytes |
コンパイル時間 | 485 ms |
コンパイル使用メモリ | 82,216 KB |
実行使用メモリ | 78,336 KB |
最終ジャッジ日時 | 2024-07-04 09:11:34 |
合計ジャッジ時間 | 8,324 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 TLE * 1 |
ソースコード
import sysinput = sys.stdin.readlinesys.setrecursionlimit(10 ** 7)def dot(x, y, z, xx, yy, zz):return x*xx + y*yy + z*zzdef cross(x, y, z, xx, yy, zz):cx = y*zz-z*yycy = z*xx-x*zzcz = x*yy-y*xxreturn cx, cy, czdef convert(n):a, b = n.split(".")return int("".join([a, b]))func = convertN = int(input())P = tuple(map(func, input().rstrip().split()))Q = tuple(tuple(map(func, input().rstrip().split())) for _ in range(N))ans = 0for i in range(N-2):ax, ay, az = Q[i]for j in range(i+1, N-1):bx, by, bz = Q[j]X = (bx-ax, by-ay, bz-az)for k in range(j+1, N):cx, cy, cz = Q[k]Y = (cx-ax, cy-ay, cz-az)D = cross(*X, *Y)dist = abs(D[0]*P[0] + D[1]*P[1] + D[2]*P[2] - dot(*D, *Q[k]))dist /= dot(*D, *D) ** 0.5ans += distprint("{:.20f}".format(ans * 1e-6))