시배's Android
Algorithm | 백준 Kotlin 1206 사람의 수 본문
1206번: 사람의 수
첫째 줄에 N이 주어진다. 둘째 줄부터 N개의 줄에 각 문항의 평균 점수가 주어진다. N은 50보다 작거나 같은 자연수이고, 평균 점수는 0보다 크거나 같고, 10보다 작거나 같은 소수이다. 항상 소수
www.acmicpc.net
import java.util.*
private val visited = Array(1001) { false }
private val edges = Array<MutableList<Int>>(1001) { mutableListOf() }
private fun dfs(v: Int) {
if (visited[v]) return
visited[v] = true
print("$v ")
edges[v].forEach { dfs(it) }
}
private fun bfs(v: Int) {
val q: Queue<Int> = LinkedList()
q.add(v)
while (!q.isEmpty()) {
val p = q.poll()
if (visited[p]) continue
visited[p] = true
print("$p ")
edges[p].forEach { q.add(it) }
}
}
private fun main() {
val (n, m, v) = readLine()!!.split(" ").map { it.toInt() }
repeat(m) {
val (a, b) = readLine()!!.split(" ").map { it.toInt() }
edges[a].add(b)
edges[b].add(a)
}
edges.forEach { it.sort() }
dfs(v)
println()
visited.fill(false)
bfs(v)
}
'Algorithm' 카테고리의 다른 글
Algorithm | 백준 Kotlin 7576 토마토 (1) | 2023.10.07 |
---|---|
Algorithm | 백준 Kotlin 2606 바이러스 (0) | 2023.10.07 |
Algorithm | 백준 Kotlin 12101 1,2,3 더하기 2 (0) | 2023.10.07 |
Algorithm | 백준 Kotlin 5548 행성 탐사 (0) | 2023.10.07 |
Algorithm | 백준 Kotlin 3273 두 수의 합 (0) | 2023.10.07 |