[백준 2630 - Kotlin] 색종이 만들기
import java.io.BufferedReader
import java.io.BufferedWriter
private lateinit var bufferedReader: BufferedReader
private lateinit var bufferedWriter: BufferedWriter
private lateinit var papers: MutableList<List<Int>>
private lateinit var answer: Array<Int>
fun main() {
bufferedReader = System.`in`.bufferedReader()
bufferedWriter = System.out.bufferedWriter()
// 1. get n
val n = bufferedReader.readLine().toInt()
// 2. get papers
papers = mutableListOf()
repeat(n) {
val paper = bufferedReader
.readLine()
.split(" ")
.map { it.toInt() }
papers.add(paper)
}
// 3. check color
answer = Array(2) { 0 }
checkColor(n, 0, 0)
bufferedWriter.write("${answer[0]}\n")
bufferedWriter.write("${answer[1]}\n")
bufferedReader.close()
bufferedWriter.close()
}
fun checkColor(n: Int, startX: Int, startY: Int) {
val color = papers[startX][startY]
if (n == 1) {
answer[color]++
return
}
for (i in startX until startX + n) {
for (j in startY until startY + n) {
if (papers[i][j] != color) {
checkColor(n / 2, startX, startY)
checkColor(n / 2, startX + n / 2, startY)
checkColor(n / 2, startX, startY + n / 2)
checkColor(n / 2, startX + n / 2, startY + n / 2)
return
}
}
}
answer[color]++
}
Author And Source
이 문제에 관하여([백준 2630 - Kotlin] 색종이 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kldaji/백준-2630-Kotlin-색종이-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)