원본 문제 : https://www.acmicpc.net/problem/1697
문제 참고 : https://ggmouse.tistory.com/361
<첫번째> 실패
인텔리제이에서는 문제 없이 작동하나, 백준사이트 채점시 런타임 에러 발생
import java.io.*
import java.util.*
var arr: IntArray = intArrayOf()
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val twoDots = readLine().split(" ")
val start = twoDots[0].toInt()
val dest = twoDots[1].toInt()
arr = IntArray(dest*2 + 1)
for (i in arr.indices)
arr[i] = 0
println(bfs(start, dest))
}
fun bfs(start: Int, dest: Int): Int {
val queue: Queue<Int> = LinkedList<Int>()
queue.add(start)
while ( !queue.isEmpty() ) {
val dq = queue.poll()
if ( dq==dest )
break
if ( dq+1 < arr.size && arr[dq+1] == 0 ) {
queue.add(dq+1)
arr[dq+1] = arr[dq] + 1
}
if ( dq-1 >= 0 && arr[dq-1] == 0 ) {
queue.add(dq-1)
arr[dq-1] = arr[dq] + 1
}
if ( dq*2 < arr.size && arr[dq*2] == 0 ){
queue.add(dq*2)
arr[dq*2] = arr[dq] + 1
}
}
return arr[dest]
}
'코딩연습' 카테고리의 다른 글
[배준] 바이러스 (2606)(Kotlin) (0) | 2020.01.30 |
---|---|
[백준] 플로이드 (11404)(Kotlin) (0) | 2020.01.30 |
[백준] 토마토 (7576)(Kotlin) (0) | 2020.01.29 |
[백준] DFS와 BFS (1260)(Kotlin) (0) | 2020.01.29 |
[백준] 미로 탐색(2178)(Kotlin) (0) | 2020.01.22 |
댓글