結果
| 問題 |
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()
しらっ亭