結果
問題 | No.202 1円玉投げ |
ユーザー | くわい |
提出日時 | 2015-10-22 23:34:26 |
言語 | Scala(Beta) (3.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,229 bytes |
コンパイル時間 | 8,022 ms |
コンパイル使用メモリ | 238,148 KB |
最終ジャッジ日時 | 2024-11-15 04:43:56 |
合計ジャッジ時間 | 8,865 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
[31m[31m-- [E040] Syntax Error: Main.scala:49:32 ---------------------------------------[0m[0m [31m49 |[0m [33mdef[0m [36mmain[0m([36margs[0m: [35mArray[0m[[35mString[0m]) { [31m[31m |[0m ^[0m [31m |[0m '=' expected, but '{' found 1 error found
ソースコード
import java.util.Scanner import scala.collection.{mutable => mu} object Problem202 { type Index = (Int, Int) type Point = (Int, Int) def overlap(a: Point, b: Point): Boolean = { Math.pow(a._1 - b._1, 2.0) + Math.pow(a._2 - b._2, 2.0) < 400 } def proc(coins: Seq[Point]): Int = { val S = new mu.HashMap[Index, mu.HashSet[Point]]() def overlapCoin(coin: Point, index: Index): Boolean = { val (px, py) = (index._1, index._2) for { pxi <- px - 1 to px + 1 pyi <- py - 1 to py + 1 points <- S.get(pxi, pyi) point <- points if overlap(coin, point) } { return true } false } def putCoin(coin: Point): Unit = { val index = (coin._1 / 20, coin._2 / 20) if (!overlapCoin(coin, index)) { if (!S.contains(index)) { S += index -> mu.HashSet[Point]() } S(index) += coin } } coins.foreach { coin => putCoin(coin) } S.map(_._2.size).sum } def main(args: Array[String]) { val sc = new Scanner(System.in) val n = sc.nextInt() val coins = Array.fill(n)((sc.nextInt(), sc.nextInt())) val result = proc(coins) println(result) } }