提出 #23776777


ソースコード 拡げる

from fractions import Fraction
N=int(input())
S=[tuple(map(int,input().split())) for i in range(N)]
T=[tuple(map(int,input().split())) for i in range(N)]
Sg=(sum(S[i][0] for i in range(N))*Fraction(1,N),sum(S[i][1] for i in range(N))*Fraction(1,N))
Tg=(sum(T[i][0] for i in range(N))*Fraction(1,N),sum(T[i][1] for i in range(N))*Fraction(1,N))

X=[(S[i][0]-Sg[0],S[i][1]-Sg[1]) for i in range(N)]
Y=[(T[i][0]-Tg[0],T[i][1]-Tg[1]) for i in range(N)]
def normsq(p):
    return p[0]**2+p[1]**2
if min(S)==max(S) and min(T)==max(T):
    print("Yes")
    exit()
for i in range(N):
    for j in range(N):
        if normsq(X[i])!=normsq(Y[j]):
            continue
        if normsq(X[i])==0:
            continue
        a,b=X[i]
        c,d=Y[j]
        cos=Fraction(a*c+b*d,a*a+b*b)
        sin=-Fraction(a*d-b*c,a*a+b*b)
        Z=[(cos*Y[i][0]-sin*Y[i][1],sin*Y[i][0]+cos*Y[i][1]) for i in range(N)]
        if sorted(Z)==sorted(X):
            print("Yes")
            exit()
print("No")

提出情報

提出日時
問題 D - Congruence Points
ユーザ shakayami
言語 PyPy3 (7.3.0)
得点 400
コード長 1017 Byte
結果 AC
実行時間 549 ms
メモリ 78952 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 4
AC × 64
セット名 テストケース
Sample example0.txt, example1.txt, example2.txt, example3.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, example0.txt, example1.txt, example2.txt, example3.txt, killer_T_01.txt, killer_T_02.txt, killer_T_03.txt, killer_T_04.txt, killer_T_05.txt, killer_T_06.txt, killer_T_07.txt, killer_T_08.txt, killer_T_09.txt, killer_T_10.txt, killer_T_11.txt, killer_T_12.txt, killer_T_13.txt, killer_T_14.txt
ケース名 結果 実行時間 メモリ
000.txt AC 549 ms 72476 KiB
001.txt AC 164 ms 75912 KiB
002.txt AC 162 ms 75948 KiB
003.txt AC 142 ms 75144 KiB
004.txt AC 102 ms 72644 KiB
005.txt AC 117 ms 73056 KiB
006.txt AC 112 ms 73116 KiB
007.txt AC 115 ms 73144 KiB
008.txt AC 112 ms 73020 KiB
009.txt AC 104 ms 72632 KiB
010.txt AC 107 ms 72792 KiB
011.txt AC 98 ms 72736 KiB
012.txt AC 116 ms 73124 KiB
013.txt AC 219 ms 77380 KiB
014.txt AC 95 ms 72588 KiB
015.txt AC 180 ms 76800 KiB
016.txt AC 115 ms 72900 KiB
017.txt AC 113 ms 72872 KiB
018.txt AC 110 ms 72920 KiB
019.txt AC 98 ms 72676 KiB
020.txt AC 108 ms 72908 KiB
021.txt AC 97 ms 72592 KiB
022.txt AC 97 ms 72596 KiB
023.txt AC 111 ms 73048 KiB
024.txt AC 95 ms 72532 KiB
025.txt AC 154 ms 74040 KiB
026.txt AC 124 ms 73408 KiB
027.txt AC 103 ms 72520 KiB
028.txt AC 95 ms 72748 KiB
029.txt AC 98 ms 72580 KiB
030.txt AC 95 ms 72680 KiB
031.txt AC 97 ms 72648 KiB
032.txt AC 93 ms 72704 KiB
033.txt AC 95 ms 72540 KiB
034.txt AC 94 ms 72676 KiB
035.txt AC 99 ms 72600 KiB
036.txt AC 90 ms 72740 KiB
037.txt AC 95 ms 72820 KiB
038.txt AC 198 ms 76152 KiB
039.txt AC 194 ms 75192 KiB
040.txt AC 122 ms 73292 KiB
041.txt AC 97 ms 72776 KiB
042.txt AC 96 ms 72816 KiB
043.txt AC 98 ms 72528 KiB
044.txt AC 99 ms 72736 KiB
045.txt AC 94 ms 72528 KiB
example0.txt AC 96 ms 72592 KiB
example1.txt AC 95 ms 72676 KiB
example2.txt AC 98 ms 72600 KiB
example3.txt AC 97 ms 72588 KiB
killer_T_01.txt AC 93 ms 72540 KiB
killer_T_02.txt AC 95 ms 72668 KiB
killer_T_03.txt AC 95 ms 72660 KiB
killer_T_04.txt AC 96 ms 72816 KiB
killer_T_05.txt AC 127 ms 73820 KiB
killer_T_06.txt AC 166 ms 75984 KiB
killer_T_07.txt AC 93 ms 72684 KiB
killer_T_08.txt AC 93 ms 72752 KiB
killer_T_09.txt AC 229 ms 78952 KiB
killer_T_10.txt AC 109 ms 72904 KiB
killer_T_11.txt AC 218 ms 76828 KiB
killer_T_12.txt AC 112 ms 73076 KiB
killer_T_13.txt AC 97 ms 72528 KiB
killer_T_14.txt AC 95 ms 72708 KiB