結果
| 問題 | 
                            No.3005 トレミーの問題
                             | 
                    
| コンテスト | |
| ユーザー | 
                             shobonvip
                         | 
                    
| 提出日時 | 2025-01-17 22:04:26 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 155 ms / 2,000 ms | 
| コード長 | 623 bytes | 
| コンパイル時間 | 2,067 ms | 
| コンパイル使用メモリ | 82,304 KB | 
| 実行使用メモリ | 88,960 KB | 
| 最終ジャッジ日時 | 2025-01-17 22:04:55 | 
| 合計ジャッジ時間 | 7,685 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 30 | 
ソースコード
p,q=map(int,input().split())
a,x=map(int,input().split())
b,y=map(int,input().split())
c,z=map(int,input().split())
a-=p
b-=p
c-=p
x-=q
y-=q
z-=q
if (a-b)*(y-z)-(b-c)*(x-y)==0:
	print("NO")
	exit()
from fractions import Fraction
p = Fraction(
	(a*a+x*x)*(y-z) + (b*b+y*y)*(z-x) + (c*c+z*z)*(x-y),
	2 * ((a-b)*(y-z)-(b-c)*(x-y))
)
q = Fraction(
	- ((a*a+x*x)*(b-c) + (b*b+y*y)*(c-a) + (c*c+z*z)*(a-b)),
	2 * ((a-b)*(y-z)-(b-c)*(x-y))
)
r2 = (a-p)*(a-p) + (x-q)*(x-q)
assert r2 == (b-p)*(b-p) + (y-q)*(y-q)
assert r2 == (c-p)*(c-p) + (z-q)*(z-q)
#print(p, q, r2)
if p*p + q*q == r2:
	print("YES")
else:
	print("NO")
            
            
            
        
            
shobonvip