Submission #4313446


Source Code Expand

import scala.io.{StdIn => in}

object Main extends App {
  val Array(r, c) = in.readLine.split(" ").map(_.toInt)
  val Array(sy, sx) = in.readLine.split(" ").map(_.toInt - 1)
  val Array(gy, gx) = in.readLine.split(" ").map(_.toInt - 1)
  val maze = Iterator.continually(in.readLine)
    .take(r)
    .map(_.map(ch => if(ch == '.') true else false).toArray)
    .toArray


  val ans = {
    val dx = Array( 0, 1, 0,-1)
    val dy = Array( 1, 0,-1, 0)
    val map = Array.ofDim[Int](r,c)
    val que = collection.mutable.Queue.empty[(Int,Int)]
    val s = (sy,sx)
    que += s
    maze(sy)(sx) = false

    while(!que.isEmpty) {
      val(y,x) = que.dequeue

      if(y == gy && x == gx) que.clear
      else {
        for(i <- 0 until 4) {
          val nx = x + dx(i)
          val ny = y + dy(i)
          if(0 <= nx && nx < c && 0 <= ny && ny < r && maze(ny)(nx)) {
            map(ny)(nx) = map(y)(x) + 1
            maze(ny)(nx) = false
            val next = (ny, nx)
            que += next
          }
        }
      }
    }
    // map.foreach(e => println(e.mkString))
    map(gy)(gx)
  }

  println(ans)
}

Submission Info

Submission Time
Task C - 幅優先探索
User un_kk
Language Scala (2.11.7)
Score 100
Code Size 1159 Byte
Status AC
Exec Time 374 ms
Memory 25552 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 25
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
All subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 336 ms 25408 KB
subtask0_sample02.txt AC 334 ms 25284 KB
subtask0_sample03.txt AC 374 ms 25280 KB
subtask1_01.txt AC 359 ms 25172 KB
subtask1_02.txt AC 355 ms 25272 KB
subtask1_03.txt AC 355 ms 25292 KB
subtask1_04.txt AC 369 ms 25272 KB
subtask1_05.txt AC 355 ms 25404 KB
subtask1_06.txt AC 365 ms 23620 KB
subtask1_07.txt AC 339 ms 25540 KB
subtask1_08.txt AC 346 ms 25404 KB
subtask1_09.txt AC 357 ms 25016 KB
subtask1_10.txt AC 340 ms 25268 KB
subtask1_11.txt AC 371 ms 25284 KB
subtask1_12.txt AC 370 ms 25020 KB
subtask1_13.txt AC 360 ms 23232 KB
subtask1_14.txt AC 343 ms 25420 KB
subtask1_15.txt AC 362 ms 25404 KB
subtask1_16.txt AC 363 ms 25412 KB
subtask1_17.txt AC 370 ms 25272 KB
subtask1_18.txt AC 367 ms 25396 KB
subtask1_19.txt AC 358 ms 25552 KB
subtask1_20.txt AC 361 ms 25420 KB
subtask1_21.txt AC 361 ms 25412 KB
subtask1_22.txt AC 363 ms 23492 KB