結果
| 問題 |
No.202 1円玉投げ
|
| コンテスト | |
| ユーザー |
TANIGUCHI Kousuke
|
| 提出日時 | 2015-08-20 13:33:55 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 3,111 ms / 5,000 ms |
| コード長 | 619 bytes |
| コンパイル時間 | 49 ms |
| コンパイル使用メモリ | 7,296 KB |
| 実行使用メモリ | 39,552 KB |
| 最終ジャッジ日時 | 2024-12-22 10:01:20 |
| 合計ジャッジ時間 | 34,214 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 38 |
コンパイルメッセージ
Syntax OK
ソースコード
# Here your code !
MAX = 20000
CELL = 40
SEG = MAX.div(CELL) + 3
ZONE = SEG.times.map { SEG.times.map { [] } }
n = gets.to_i
coins = n.times.map { gets.split.map(&:to_i) }
puts coins.inject(0) {|s,c|
cx, cy = c.map {|v| v / CELL + 1}
nears = [cx - 1, cx, cx + 1].product([cy - 1, cy, cy + 1])
intersect = nears.all? do |dx,dy|
begin
ZONE[dx][dy].empty? || ZONE[dx][dy].all? { |v| 2.times.inject(0) {|q,i| q + (c[i] - v[i]) ** 2} >= 400 }
rescue
p [dx,dy]
end
end
unless intersect
s
else
ZONE[cx][cy].push(c)
s+1
end
}
TANIGUCHI Kousuke