Submission #421377
Source Code Expand
import java.util.Scanner object Main { val dx = Array(-1, 1, 0, 0) val dy = Array(0, 0, 1, -1) def main(args: Array[String]): Unit = { val scanner = new java.util.Scanner(System.in) val h = scanner.nextInt() val w = scanner.nextInt() val board = (1 to h).map { _ => scanner.next().toCharArray }.toArray val result = if (solve(h, w, board)) "Yes" else "No" println(result) } def solve(h: Int, w: Int, board: Array[Array[Char]]): Boolean = { val start = (for { i <- (0 until h) j <- (0 until w) } yield (i, j)).find { case (i, j) => board(i)(j) == 's' } search(start.get, h, w, board) } def search( s: (Int, Int), h: Int, w: Int, board: Array[Array[Char]]): Boolean = { // val visited = scala.collection.mutable.Set.empty[(Int, Int)] var visited = Array.fill(h)(Array.fill(w)(false)) var stack = List(s) while (stack.nonEmpty) { stack match { case Nil => return false case current :: t => stack = t current match { case (i, j) if i < 0 || i >= h || j < 0 || j >= w => // case (i, j) if visited((i, j)) => case (i, j) if visited(i)(j) => case (i, j) if board(i)(j) == '#' => case (i, j) if board(i)(j) == 'g' => return true case (i, j) => // visited += ((i, j)) visited(i)(j) = true; val news = (0 to 3).map { x => (i + dy(x), j + dx(x)) }.toList stack = news ::: stack } } } false } }
Submission Info
Submission Time | |
---|---|
Task | A - 深さ優先探索 |
User | yoshikyoto |
Language | Scala (2.11.5) |
Score | 0 |
Code Size | 1665 Byte |
Status | TLE |
Exec Time | 2035 ms |
Memory | 87196 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt |
All | 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_min_01.txt | AC | 1229 ms | 48324 KB |
00_min_02.txt | AC | 1200 ms | 48416 KB |
00_min_03.txt | AC | 1191 ms | 48280 KB |
00_min_04.txt | AC | 1176 ms | 48052 KB |
00_min_05.txt | AC | 1166 ms | 48280 KB |
00_min_06.txt | AC | 1179 ms | 48304 KB |
00_min_07.txt | AC | 1182 ms | 48392 KB |
00_min_08.txt | AC | 1175 ms | 48200 KB |
00_sample_01.txt | AC | 1170 ms | 48176 KB |
00_sample_02.txt | AC | 1181 ms | 48272 KB |
00_sample_03.txt | AC | 1196 ms | 48120 KB |
00_sample_04.txt | AC | 1180 ms | 48376 KB |
00_sample_05.txt | AC | 1176 ms | 48300 KB |
01_rnd_00.txt | AC | 1567 ms | 68232 KB |
01_rnd_01.txt | TLE | 2033 ms | 87196 KB |
01_rnd_02.txt | AC | 1957 ms | 74148 KB |
01_rnd_03.txt | TLE | 2034 ms | 79736 KB |
01_rnd_04.txt | TLE | 2035 ms | 86364 KB |
01_rnd_05.txt | AC | 1554 ms | 69292 KB |
01_rnd_06.txt | AC | 1842 ms | 70088 KB |
01_rnd_07.txt | AC | 1866 ms | 72500 KB |
01_rnd_08.txt | AC | 1545 ms | 68076 KB |
01_rnd_09.txt | AC | 1551 ms | 68332 KB |
01_rnd_10.txt | AC | 1931 ms | 72124 KB |
01_rnd_11.txt | AC | 1557 ms | 69228 KB |
01_rnd_12.txt | TLE | 2034 ms | 85452 KB |
01_rnd_13.txt | AC | 1991 ms | 80856 KB |
01_rnd_14.txt | AC | 1522 ms | 68124 KB |
01_rnd_15.txt | AC | 1921 ms | 72884 KB |
01_rnd_16.txt | AC | 1522 ms | 68148 KB |
01_rnd_17.txt | AC | 1939 ms | 72732 KB |
01_rnd_18.txt | AC | 1536 ms | 68032 KB |
01_rnd_19.txt | TLE | 2034 ms | 86292 KB |
02_rndhard_00.txt | AC | 1624 ms | 68428 KB |
02_rndhard_01.txt | AC | 1618 ms | 68544 KB |
02_rndhard_02.txt | AC | 1872 ms | 70952 KB |
02_rndhard_03.txt | AC | 1895 ms | 70640 KB |
02_rndhard_04.txt | AC | 1570 ms | 68828 KB |
02_rndhard_05.txt | AC | 1576 ms | 69720 KB |
02_rndhard_06.txt | AC | 1623 ms | 68404 KB |
02_rndhard_07.txt | AC | 1582 ms | 68412 KB |
02_rndhard_08.txt | AC | 1792 ms | 69544 KB |
02_rndhard_09.txt | AC | 1813 ms | 69848 KB |
02_rndhard_10.txt | AC | 1776 ms | 70080 KB |
02_rndhard_11.txt | AC | 1803 ms | 69812 KB |
02_rndhard_12.txt | AC | 1730 ms | 68480 KB |
02_rndhard_13.txt | AC | 1730 ms | 70060 KB |
02_rndhard_14.txt | AC | 1802 ms | 70148 KB |
02_rndhard_15.txt | AC | 1811 ms | 69788 KB |
02_rndhard_16.txt | AC | 1630 ms | 68684 KB |
02_rndhard_17.txt | AC | 1619 ms | 68344 KB |
02_rndhard_18.txt | AC | 1660 ms | 68308 KB |
02_rndhard_19.txt | AC | 1647 ms | 68668 KB |
02_rndhard_20.txt | AC | 1655 ms | 69700 KB |
02_rndhard_21.txt | AC | 1629 ms | 68076 KB |
02_rndhard_22.txt | AC | 1750 ms | 68940 KB |
02_rndhard_23.txt | AC | 1684 ms | 68756 KB |
02_rndhard_24.txt | AC | 1632 ms | 68316 KB |
02_rndhard_25.txt | AC | 1638 ms | 68560 KB |
02_rndhard_26.txt | AC | 1635 ms | 68156 KB |
02_rndhard_27.txt | AC | 1590 ms | 68516 KB |
02_rndhard_28.txt | AC | 1658 ms | 68912 KB |
02_rndhard_29.txt | AC | 1656 ms | 69880 KB |
02_rndhard_30.txt | AC | 1542 ms | 68140 KB |
02_rndhard_31.txt | AC | 1582 ms | 69780 KB |
02_rndhard_32.txt | AC | 1771 ms | 69964 KB |
02_rndhard_33.txt | AC | 1715 ms | 68688 KB |
02_rndhard_34.txt | AC | 1638 ms | 70068 KB |
02_rndhard_35.txt | AC | 1615 ms | 69944 KB |
02_rndhard_36.txt | AC | 1589 ms | 68436 KB |
02_rndhard_37.txt | AC | 1579 ms | 68572 KB |
02_rndhard_38.txt | AC | 1674 ms | 68416 KB |
02_rndhard_39.txt | AC | 1653 ms | 69928 KB |
03_rndhardsmall_00.txt | AC | 1176 ms | 47772 KB |
03_rndhardsmall_01.txt | AC | 1197 ms | 48296 KB |
03_rndhardsmall_02.txt | AC | 1190 ms | 48200 KB |
03_rndhardsmall_03.txt | AC | 1180 ms | 48220 KB |
03_rndhardsmall_04.txt | AC | 1175 ms | 48212 KB |
03_rndhardsmall_05.txt | AC | 1175 ms | 48292 KB |
03_rndhardsmall_06.txt | AC | 1169 ms | 48320 KB |
03_rndhardsmall_07.txt | AC | 1423 ms | 47868 KB |
03_rndhardsmall_08.txt | AC | 1504 ms | 48132 KB |
03_rndhardsmall_09.txt | AC | 1503 ms | 48172 KB |