문제
11866 오세푸스 문제 0
답
kotlin code
fun main() {
q11866()
}
fun q11866() {
val input = readln().split(" ").map { it.toInt() }
val size = input.first()
val step = input.last()
val inputs = java.util.LinkedList<Int>()
inputs.add(size)
for(i in 1 until size) {
inputs.add(i)
}
val outputs = IntArray(size) { -1 }
var curI = 1
var outputIndex = 0
while (inputs.isNotEmpty()) {
curI = (curI + step - 1) % inputs.size
outputs[outputIndex++] = inputs[curI]
inputs.removeAt(curI)
}
println(outputs.contentToString().replace("[", "<").replace("]", ">"))
}