μμ μμ(2468λ²)
Silver 1
#κ·Έλν μ΄λ‘ #λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦ #κ·Έλν νμ #λλΉ μ°μ νμ #κΉμ΄ μ°μ νμ
λ¬Έμ λ΄μ©
λ¬Έμ μ κ·Ό
n * nμ μμμμ λ΄λ¦¬λ λΉμ μμ λ°λΌμ μ κΈ°λ μμμ΄ μκΈ°κ² λλ€.
μμμ΄ 3μΌ λ, λΉμ μμ΄ 3 μ΄μμ΄λ©΄ λͺ¨λ μμ 3μ΄ μ κΈ°κ² λλ€.
μμμ κ°μλ μνμ’μ°μ λΆμ΄μλ λͺ¨λ μμ μμλ€μ νλλ‘ κ°μ£Όνλ€.
λκ°μ μ μμ μμμ λͺ¨λ λ³κ°μ μμ μμμ΄ λλ€.
λ΄λ¦¬λ λΉμ μμ λ°λΌ μ κΈ°λ μμμ μκ° λ¬λΌμ§κ² λ κ²μ΄λ€.
λ¬Όμ μ κΈ°μ§ μμ μμμ μμ μ΅λ κ°μλ₯Ό ꡬνλ€.
λΉμ μμ μμμμ κ°μ₯ μμ κ°μμλΆν° κ°μ₯ ν° κ°κΉμ§ μ μνκ³ νμν΄ λ³΄λ©΄ λ κ±°λΌκ³ μκ°νκΈ° μ½λ€.
νμ§λ§ μμμμ κ°μ₯ ν° κ°μΌλ‘ ꡬν΄λ΄€μ λͺ¨λ μμμ΄ μ κΈ°κ² λκΈ° λλ¬Έμ κ΅³μ΄ κ΅¬ν νμλ μκ³ , λΉκ° μ€μ§ μλ κ²½μ°λ μκΈ° λλ¬Έμ λΉκ° μ€μ§ μμ μΌμ΄μ€μΈ 0λΆν° μ μνκ³ κ΅¬ν΄μΌ ν κ²μ΄λ€.
κ²°λ‘ μ λΉμ μμ 0λΆν° λμ΄ μ 보 μ€ κ°μ₯ ν° κ° - 1κΉμ§ λͺ¨λ νμΈν΄ μ κΈ°μ§ μμ μμμ μ΅λκ°μ ꡬνλ€.
λ¬Έμ ν΄κ²° μ½λ
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.max
private var map = arrayOf<List<Int>>()
private var visited = arrayOf(booleanArrayOf())
private val dx = listOf(-1, 1, 0, 0)
private val dy = listOf(0, 0, -1, 1)
fun main() {
val bf = BufferedReader(InputStreamReader(System.`in`))
val n = bf.readLine().toInt()
map = Array(n) { listOf() }
visited = Array(n) { BooleanArray(n) }
var maxH = 0
for (i in 0 until n) {
val ln = bf.readLine().split(" ").map { it.toInt() }
map[i] = ln
maxH = max(maxH, ln.max())
}
var answer = 0
for (h in 0 until maxH) {
var safeArea = 0
for (i in visited.indices) {
visited[i].fill(false)
}
for (i in map.indices) {
for (j in map[i].indices) {
if (!visited[i][j] && map[i][j] > h) {
visited[i][j] = true
safeArea++
dfs(j, i, h)
}
}
}
answer = max(answer, safeArea)
}
println(answer)
}
private fun dfs(x: Int, y: Int, h: Int) {
for (i in dx.indices) {
val mx = dx[i] + x
val my = dy[i] + y
if (my in map.indices && mx in map[my].indices) {
if (!visited[my][mx] && map[my][mx] > h) {
visited[my][mx] = true
dfs(mx, my, h)
}
}
}
}
λ¬Έμ νμ΄
μ λ ₯λ°μΌλ©΄μ κ°μ₯ λμ μμμ ꡬν΄μ€λ€.
κ·Έλ¦¬κ³ dfsλ₯Ό μ΄μ©ν΄ μΉ¨μλμ§ μλ μμμ κ°μλ₯Ό ꡬν΄μ€λ€.
λ°λ³΅λ¬Έμ ν΅ν΄ λΉμ μ(h)μ λ°λ₯Έ λͺ¨λ caseλ₯Ό κ²μ¬νλ€.
μΉ¨μλμ§ μμ μμμ ꡬνκ³ λλ©΄, answerμμ λ ν° κ°μΌλ‘ λ³κ²½νλ€.
visited μ¬λΆμ hλ³΄λ€ λμ΄κ° λμμ§ νμΈνλ€.
λ¬Έμ ν΄κ²° κ³Όμ
λΉκ° μ€μ§ μλ κ²½μ°λ₯Ό νμΈνμ§ μμκΈ° λλ¬Έμ 69%μμ WAκ° λμλ€.
κ·Έ μΈμλ μ΄λ €μ΄ μ μ΄ μμλ€.
μ²΄κ° λμ΄λ: Silver 1
'π― | λ°±μ€ > π | Silver' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Kotlin, S2] λ°±μ€ 14247λ² λ무 μλ₯΄κΈ° (0) | 2025.01.14 |
---|---|
[Kotlin, S1] λ°±μ€ 2205λ² μ μΈ μΆ λ§λ€κΈ° (0) | 2025.01.07 |
[Kotlin, S2] λ°±μ€ 1780λ² μ’ μ΄μ κ°μ (0) | 2024.12.18 |
[Kotlin, S3] λ°±μ€ 32186λ² μμ λ΄ μ΄μΈκ³ μμ΄μ μλͺ»λλ€ (0) | 2024.12.18 |
[Kotlin, S2] λ°±μ€ 26007λ² Codepowers (0) | 2024.12.03 |