結果
| 問題 |
No.202 1円玉投げ
|
| ユーザー |
yuyyuyu
|
| 提出日時 | 2015-08-08 00:46:13 |
| 言語 | PyPy2 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 305 ms / 5,000 ms |
| コード長 | 628 bytes |
| コンパイル時間 | 247 ms |
| コンパイル使用メモリ | 76,948 KB |
| 実行使用メモリ | 92,416 KB |
| 最終ジャッジ日時 | 2024-12-22 09:53:29 |
| 合計ジャッジ時間 | 8,666 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 38 |
ソースコード
size=50
def distance(ax,ay,bx,by):
return (ax-bx)**2+(ay-by)**2
def check(x,y):
for dx in xrange(-1,2):
for dy in xrange(-1,2):
bx,by=x/size+dx,y/size+dy
if 0<=bx<=20000/size and 0<=by<=20000/size:
for cx,cy in block[by][bx]:
if 0<=distance(x,y,cx,cy)<400:
return False
return True
N=int(raw_input())
block=[[[] for i in xrange(20000/size+1)] for j in xrange(20000/size+1)]
ans=0
for _ in xrange(N):
x,y=map(int,raw_input().split())
if check(x,y):
ans+=1
block[y/size][x/size].append((x,y))
print ans
yuyyuyu