結果
問題 |
No.849 yuki国の分割統治
|
ユーザー |
![]() |
提出日時 | 2025-04-15 23:10:02 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 966 bytes |
コンパイル時間 | 420 ms |
コンパイル使用メモリ | 82,908 KB |
実行使用メモリ | 104,152 KB |
最終ジャッジ日時 | 2025-04-15 23:12:42 |
合計ジャッジ時間 | 4,293 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 25 WA * 1 |
ソースコード
import sys import math def main(): a, b, c, d = map(int, sys.stdin.readline().split()) D = a * d - b * c N = int(sys.stdin.readline()) points = [tuple(map(int, sys.stdin.readline().split())) for _ in range(N)] if D != 0: mod = abs(D) groups = {} for x, y in points: s = (d * x - c * y) % mod t = (-b * x + a * y) % mod key = (s, t) if key not in groups: groups[key] = 0 groups[key] += 1 print(len(groups)) else: def gcd(x, y): while y: x, y = y, x % y return x g_gcd = gcd(a, b) g = (a // g_gcd, b // g_gcd) groups = {} for x, y in points: hp = (-g[1] * x) + (g[0] * y) if hp not in groups: groups[hp] = 0 groups[hp] += 1 print(len(groups)) if __name__ == "__main__": main()