목차
문제 정보
https://codeforces.com/problemset/problem/500/A
Problem - 500A - Codeforces
codeforces.com
난이도 : A
유형 : bruteforce, graph
시간 : O(n)
문제 풀이
cell 사이마다 포탈이 있는 구조이다.
cell | portal | cell | portal | cell | portal | cell | portal | cell |
현재 셀 옆에 있는 포탈만 사용할 수 있고 역행은 안된다.
포탈 사용)
현재 cell위치 + portal의 값 => 해당 값의 cell로 이동 => 현재 cell의 오른쪽의 포탈 이용 => ... 반복
코드
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.StringTokenizer
fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) {
var st = StringTokenizer(kotlin.io.readLine())
var n = st.nextToken().toInt()
var t = st.nextToken().toInt()
var portals = IntArray(n - 1)
st = StringTokenizer(readLine())
for (i in 0 until n - 1) {
portals[i] = st.nextToken().toInt()
}
var cur = 1
var idx = 0;
while (cur < n) {
cur += portals[idx]
if (cur == t) {
println("YES")
return
}
idx = cur - 1;
}
println("NO")
}
fun main() {
solution()
}
'Algorithm, Problem Solving > codeforces' 카테고리의 다른 글
[codeforces][Kotlin] 1360B - Honest Coach (0) | 2023.04.20 |
---|---|
[codeforces][Kotlin] 1624A - Plus One on the Subset (0) | 2023.04.05 |
[codeforces][Kotlin] 1367B - Even Array (0) | 2023.03.30 |
[codeforces][Kotlin] 1475A - Odd Divisor (0) | 2023.03.29 |
[codeforces][Kotlin] 703A - Mishka and Game (0) | 2023.03.28 |
댓글