結果
問題 |
No.202 1円玉投げ
|
ユーザー |
![]() |
提出日時 | 2015-06-26 02:07:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 976 ms / 5,000 ms |
コード長 | 1,135 bytes |
コンパイル時間 | 474 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 272,128 KB |
最終ジャッジ日時 | 2024-12-22 09:40:10 |
合計ジャッジ時間 | 21,460 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
def lap(bin, x, y, dx, dy): cs = [] cs.extend(bin[dx][dy]) cs.extend(bin[dx][dy + 1]) cs.extend(bin[dx][dy + 2]) cs.extend(bin[dx + 1][dy]) cs.extend(bin[dx + 1][dy + 1]) cs.extend(bin[dx + 1][dy + 2]) cs.extend(bin[dx + 2][dy]) cs.extend(bin[dx + 2][dy + 1]) cs.extend(bin[dx + 2][dy + 2]) for bx, by in cs: if (bx - x) ** 2 + (by - y) ** 2 < 400: return True t = (x, y) bin[dx][dy].append(t) bin[dx][dy + 1].append(t) bin[dx][dy + 2].append(t) bin[dx + 1][dy].append(t) bin[dx + 1][dy + 1].append(t) bin[dx + 1][dy + 2].append(t) bin[dx + 2][dy].append(t) bin[dx + 2][dy + 1].append(t) bin[dx + 2][dy + 2].append(t) return False def solve(XY): bin = [[[] for j in range(2003)] for i in range(2003)] count = 0 for x, y in XY: dx = x // 10 dy = y // 10 if not lap(bin, x, y, dx, dy): 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()