結果
問題 | No.3005 トレミーの問題 |
ユーザー |
👑 |
提出日時 | 2025-01-11 20:30:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 47 ms / 2,000 ms |
コード長 | 762 bytes |
コンパイル時間 | 276 ms |
コンパイル使用メモリ | 12,160 KB |
実行使用メモリ | 10,624 KB |
最終ジャッジ日時 | 2025-01-11 20:42:40 |
合計ジャッジ時間 | 2,678 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
def InnerProduct(u,v,w):return sum((y-x)*(z-x)for x,y,z in zip(u,v,w))def Area(u,v,w):return(v[0]-u[0])*(w[1]-u[1])-(v[1]-u[1])*(w[0]-u[0])def sign(n):return[-1,1][n>0]if n else 0def L22(v):return v[0]**2+v[1]**2def L22_Distance(u,v):return L22([u[0]-v[0],u[1]-v[1]])J=lambda:list(map(int,input().split()))A=[J(),J(),J(),J()]if any(Area(A[i],A[(i+1)&3],A[(i+2)&3])==0 for i in range(4)):exit(print("NO"))if sign(Area(A[0],A[1],A[2]))!=sign(Area(A[0],A[1],A[3])):i,j,k,l=0,1,2,3elif sign(Area(A[0],A[2],A[1]))!=sign(Area(A[0],A[2],A[3])):i,j,k,l=0,2,1,3else:i,j,k,l=0,3,1,2print("YNEOS"[InnerProduct(A[k],A[i],A[j])**2*L22_Distance(A[l],A[i])*L22_Distance(A[l],A[j])!=InnerProduct(A[l],A[i],A[j])**2*L22_Distance(A[k],A[i])*L22_Distance(A[k],A[j])::2])