문제
9372번: 상근이의 여행
첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가
www.acmicpc.net
풀이
문제의 답은 모든 노드(국가)를 연결할 수 있는 간선(비행기)의 개수로 노드(국가)의 개수에서 1을 빼면 된다. 만약 문제가 최소 비행 횟수나 최단 거리를 찾는 것이었다면 입력받은 간선으로 그래프를 만들어야 했겠지만, 이 문제에서는 타야하는 비행기의 종류만 구하면 되기 때문에 간단히 노드 개수에서 1을 빼주면 된다.
코드
import java.util.*
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val sb = StringBuilder()
repeat(br.readLine().toInt()) {
val st = StringTokenizer(br.readLine())
val city = st.nextToken().toInt()
val airplane = st.nextToken().toInt()
repeat(airplane) { br.readLine() }
sb.append("${city - 1}\n")
}
bw.write("$sb")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 4386번: 별자리 만들기 - Kotlin[코틀린] (0) | 2023.11.14 |
---|---|
[백준] 1197번: 최소 스패닝 트리 - Kotlin[코틀린] (0) | 2023.11.09 |
[백준] 20040번: 사이클 게임 - Kotlin[코틀린] (0) | 2023.11.07 |
[백준] 4195번: 친구 네트워크 - Kotlin[코틀린] (0) | 2023.11.06 |
[백준] 1976번: 여행 가자 - Kotlin[코틀린] (1) | 2023.11.03 |