몰?.루();

백준 10974 코틀린 (모든 순열) 본문

카테고리 없음

백준 10974 코틀린 (모든 순열)

toonraon 2022. 10. 28. 17:06

가장 기본적인 dfs인데 항상 헷갈리기도 한다

var n: Int = 0

fun main() {
    n = readln().toInt()

    val visited = BooleanArray(n + 1)
    dfs(0, "", visited)
}

fun dfs(depth: Int, s: String, visited: BooleanArray) {
    if (depth == n) {
        println(s)
        return
    }

    for (i in 1 .. n) {
        if (!visited[i]) {
            visited[i] = true
            dfs(depth + 1, "$s$i ", visited)
            visited[i] = false
        }
    }
}
Comments