結果

問題 No.849 yuki国の分割統治
ユーザー brthyyjpbrthyyjp
提出日時 2021-11-12 11:11:12
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 141 ms / 2,000 ms
コード長 733 bytes
コンパイル時間 366 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 92,612 KB
最終ジャッジ日時 2024-11-24 20:12:46
合計ジャッジ時間 6,082 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

a, b, c, d  = map(int, input().split())
n = int(input())
XY = []
for i in range(n):
    x, y = map(int, input().split())
    XY.append((x, y))

import math
det = a*d-b*c
S = set()
if det == 0:
    g1 = math.gcd(a, c)
    g2 = math.gcd(b, d)
    for x, y in XY:
        if g1 != 0 and g2 != 0:
            q = min(x//g1, y//g2)
            x = x-q*g1
            y = y-q*g2
            S.add((x, y))
        elif g1 == 0:
            q = y//g2
            y = y-q*g2
            S.add((x, y))
        elif g2 == 0:
            q = x//g1
            x = x-q*g1
            S.add((x, y))
else:
    det = abs(det)
    S = set()
    for x, y in XY:
        z = (d*x-c*y)%det
        w = (-b*x+a*y)%det
        S.add((z, w))
print(len(S))
0