結果

問題 No.2628 Shrinkage
ユーザー tipstar0125
提出日時 2024-02-19 16:15:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 620 bytes
コンパイル時間 139 ms
コンパイル使用メモリ 82,844 KB
実行使用メモリ 58,808 KB
最終ジャッジ日時 2024-09-29 01:09:45
合計ジャッジ時間 2,061 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

T=int(input())

def dist(a,b):
    return (a[0]-b[0])**2+(a[1]-b[1])**2

def gcd(a,b):
    while b!=0:
        r=a%b
        a,b=b,r
    return abs(a)

def inc(a,b):
    diff_x=a[0]-b[0]
    diff_y=a[1]-b[1]
    g=gcd(diff_x,diff_y)
    diff_x//=g
    diff_y//=g
    return (diff_x,diff_y)

for _ in range(T):
    x1,y1,x2,y2,X1,Y1,X2,Y2=map(int,input().split())
    P1=[x1,y1]
    P2=[x2,y2]
    Q1=[X1,Y1]
    Q2=[X2,Y2]
    if P1==Q1 and P2==Q2:
        print("Yes")
        continue
    if dist(P1,P2)<=dist(Q1,Q2):
        print("No")
        continue
    if inc(P1,P2)==inc(Q1,Q2):print("Yes")
    else:print("No")
0