본문 바로가기

IT/알고리즘

[백준] N과 M

728x90
SMALL

https://www.acmicpc.net/problem/15649

https://veggie-garden.tistory.com/24

https://blog.encrypted.gg/945

fun main() = with(Scanner(System.`in`)) {
    val maxNumber = nextInt()
    val count = nextInt()

    val arr: Array<Int> = Array(maxNumber) { 0 }
    val visit: Array<Boolean> = Array(count) { false }
    dfs(maxNumber, count,0, arr, visit)
}

fun dfs(maxNumber: Int, count: Int, depth: Int, arr: Array<Int>, visit: Array<Boolean>) {
    if(depth == count){
        for(i in arr){
            print("$i ")
        }
        println()
        return
    }
    for (i in 0 until maxNumber) {
        if(!visit[i]){
            visit[i] = true
            arr[depth] = i + 1
            dfs(maxNumber, count, depth + 1 , arr, visit)
            visit[i] = false
        }
    }
}
728x90
LIST

'IT > 알고리즘' 카테고리의 다른 글

[백준] - 그림 (BFS)  (0) 2024.11.04
[백준] 균형잡힌 세상 , 쇠막대기  (2) 2024.11.04
[백준] 패턴  (0) 2024.10.30
[백준] 가장 긴 증가하는 부분 수열  (0) 2024.10.28
[백준] 좌표압축  (2) 2024.10.23