結果
問題 |
No.202 1円玉投げ
|
ユーザー |
![]() |
提出日時 | 2015-06-26 01:41:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 977 bytes |
コンパイル時間 | 253 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 82,304 KB |
最終ジャッジ日時 | 2024-12-22 09:38:14 |
合計ジャッジ時間 | 101,210 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 TLE * 13 |
ソースコード
from collections import defaultdict def lap(bin, x, y, dx, dy, xx, yy): for xxx in xx: for yyy in yy: for bx, by in bin[dx + xxx, dy + yyy]: if (bx - x) ** 2 + (by - y) ** 2 < 400: return True for xxx in xx: for yyy in yy: bin[dx + xxx, dy + yyy].append((x, y)) return False def solve(XY): bin = defaultdict(list) count = 0 for x, y in XY: dx, mx = divmod(x, 20) dy, my = divmod(x, 20) xx = [0] if mx < 10: xx.append(-1) elif mx > 10: xx.append(1) yy = [0] if my < 10: yy.append(-1) elif my > 10: yy.append(1) if not lap(bin, x, y, dx, dy, xx, yy): count += 1 return count def main(): N = int(input()) XY = [list(map(int, input().split())) for i in range(N)] print(solve(XY)) if __name__ == '__main__': main()