結果

問題 No.2628 Shrinkage
ユーザー 👑 tipstar0125tipstar0125
提出日時 2024-02-16 21:55:53
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 857 bytes
コンパイル時間 232 ms
コンパイル使用メモリ 81,700 KB
実行使用メモリ 66,036 KB
最終ジャッジ日時 2024-02-16 21:56:10
合計ジャッジ時間 2,803 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 36 ms
53,460 KB
testcase_01 WA -
testcase_02 WA -
testcase_03 RE -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 RE -
testcase_13 RE -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 RE -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

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

def eval(xa,ya,xc,yc,xb,yb,xd,yd):
    s=(xa-xb)*(yc-ya)-(ya-yb)*(xc-xa)
    t=(xa-xb)*(yd-ya)-(ya-yb)*(xd-xa)
    if s*t>0:return False
    s=(xc-xd)*(ya-yc)-(yc-yd)*(xa-xc)
    t=(xc-xd)*(yb-yc)-(yc-yd)*(xb-xc)
    if s*t>0:return False
    True

T=int(input())
for _ in range(T):
    x1,y1,x2,y2,X1,Y1,X2,Y2=list(map(int,input().split()))
    if eval(x1,y1,x2,y2,X1,Y1,X2,Y2):
        print("No")
        continue

    diff_x1=x1-X1
    diff_y1=y1-Y1
    diff_x2=x2-X2
    diff_y2=y2-Y2
    g1=gcd(diff_x1,diff_y1)
    g2=gcd(diff_x2,diff_y2)

    diff_x1//=g1
    diff_y1//=g1
    diff_x2//=g2
    diff_y2//=g2
    
    if diff_x1==-diff_x2 and diff_y1==diff_y2:print("Yes")
    elif diff_x1==diff_x2 and diff_y1==-diff_y2:print("Yes")
    else:print("No")
        
        
0