結果
問題 | No.2355 Unhappy Back Dance |
ユーザー |
|
提出日時 | 2024-09-21 12:32:12 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,128 bytes |
コンパイル時間 | 341 ms |
コンパイル使用メモリ | 82,488 KB |
実行使用メモリ | 110,392 KB |
最終ジャッジ日時 | 2024-09-21 12:32:51 |
合計ジャッジ時間 | 34,124 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 RE * 1 |
ソースコード
## https://yukicoder.me/problems/no/2355 def calc_gcd(A, B): """ 正の整数A, Bの最大公約数を計算する """ a = max(A, B) b = min(A, B) while a % b > 0: c = a % b a = b b = c return b def main(): N = int(input()) xy = [] for _ in range(N): x, y = map(int, input().split()) xy.append((x, y)) answer = 0 for i in range(N): x0, y0 = xy[i] a_map = {} for j in range(N): if i == j: continue x1, y1 = xy[j] dx = x1 - x0 dy = y1 - y0 if dx == 0: dy = dy // abs(dy) elif dy == 0: dx = dx // abs(dx) else: gcd = calc_gcd(abs(dx), abs(dy)) dx //= gcd dy //= gcd if (dx, dy) not in a_map: a_map[(dx, dy)] = 0 a_map[(dx, dy)] += 1 ans = max(a_map.values()) if ans >= 2: answer += 1 print(answer) if __name__ == "__main__": main()