結果

問題 No.202 1円玉投げ
ユーザー y_mazuny_mazun
提出日時 2015-05-07 21:52:02
言語 Scala(Beta)
(3.4.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,766 bytes
コンパイル時間 5,114 ms
コンパイル使用メモリ 216,584 KB
最終ジャッジ日時 2023-08-23 22:29:26
合計ジャッジ時間 5,670 ms
ジャッジサーバーID
(参考情報)
judge11 / judge15
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E040] Syntax Error: Main.scala:5:15 ----------------------------------------
5 |    def solve(){
  |               ^
  |               '=' expected, but '{' found
-- [E040] Syntax Error: Main.scala:54:31 ---------------------------------------
54 |  def main(args: Array[String]){
   |                               ^
   |                               '=' expected, but '{' found
2 errors found

ソースコード

diff #

import scala.collection.mutable.ArrayBuffer

object main{
  object Solver extends InputReader{
    def solve(){
      val n = getInt()
      val m = 20000
      val p = 100
      val memo = Array.ofDim[ArrayBuffer[Int]](m / p + 1, m / p + 1)

      val xys = Array.fill(n){
        val x = getInt()
        val y = getInt()
        (x, y)
      }

      for(i <- 0 until memo.length;
        j <- 0 until memo(i).length){
        memo(i)(j) = ArrayBuffer.empty[Int]
      }

      var ans = 0
      for(i <- 0 until n){
        val xy = xys(i)
        val x = xy._1
        val y = xy._2
        val xm = x / p
        val ym = y / p

        var put = true
        for(xmm <- (xm - 1) to (xm + 1);
            ymm <- (ym - 1) to (ym + 1);
          if 0 <= xmm && xmm <= m / p;
          if 0 <= ymm && ymm <= m / p){
          for(j <- memo(ymm)(xmm)){
            val oxy = xys(j)
            val dx = x - oxy._1
            val dy = y - oxy._2
            put &= dx * dx + dy * dy >= 400
          }
        }

        if(put){
          memo(ym)(xm) += i
          ans += 1
        }
      }
      println(ans)
    }
  }

  // TEMPLATE ------------------------

  def main(args: Array[String]){
    Solver.solve()
  }

  trait InputReader{
    import java.io._
    import java.util._
    protected val stream = System.in
    private val reader = new BufferedReader(new InputStreamReader(stream))
    private var tokenizer = new StringTokenizer(reader.readLine())

    def getStr(): String = {
      while(!tokenizer.hasMoreTokens())
        tokenizer = new StringTokenizer(reader.readLine())
      tokenizer.nextToken()
    }

    def getInt(): Int = getStr().toInt
    def getLong(): Long = getStr().toLong
    def getDouble(): Double = getStr().toDouble
  }
}
0