원본 문제 : https://www.acmicpc.net/problem/9663
문제 참고 : https://javannspring.tistory.com/179
<첫번째>
import java.util.*
import kotlin.math.abs
var n: Int = 0
var answer: Int = 0
var col: IntArray = intArrayOf()
fun main() {
val sc: Scanner = Scanner(System.`in`)
n = sc.nextInt()
col = IntArray(n)
for (i in 0 until n) {
col[0] = i
nQueen(i, 0)
}
println(answer)
}
fun nQueen(x: Int, y: Int) {
for (i in 0 until y) {
if (col[i] == x || abs(x - col[i]) == y - i) return
}
if (y == n - 1) {
answer++
return
}
for (i in 0 until n) {
col[y + 1] = i
nQueen(i, y + 1)
}
}
'코딩연습' 카테고리의 다른 글
[백준] 알파벳 (1987)(Kotlin) (0) | 2020.04.07 |
---|---|
[백준] 로또 (6603)(Kotlin) (0) | 2020.02.26 |
[백준] 퇴사 (14501)(Kotlin) (0) | 2020.02.26 |
[백준] 회의실배정 (1931)(Kotlin) (0) | 2020.02.20 |
[백준] 동전 0 (11047)(Kotlin) (0) | 2020.02.20 |
댓글