상세 컨텐츠

본문 제목

Baekjoon(Kotlin) - 11729. 하노이 탑 이동 순서

Problems(Kotlin)/Baekjoon

by KDLiam 2023. 9. 21. 14:49

본문

URL : https://www.acmicpc.net/problem/11729

 

11729번: 하노이 탑 이동 순서

세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로

www.acmicpc.net

 

[ RESULT ]

 

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.lang.StringBuilder

val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))

var cnt = 0
var str = StringBuilder()

fun main() {
    val n = br.readLine()!!.toInt()

    hanoi_tower(n, 1,2,3)
    println(cnt)
    print(str)

    br.close()
    bw.flush()
    bw.close()
}

fun hanoi_tower(Num: Int, Start: Int, Sub: Int, To: Int){
    if (Num == 0) return
    cnt++

    hanoi_tower(Num - 1, Start, To, Sub)
    str.append("$Start $To\n")
    hanoi_tower(Num - 1, Sub, Start, To)
}

 

 

관련글 더보기