๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด

[๋ฐฑ์ค€]5566๋ฒˆ: ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

by syLim___ 2023. 3. 21.
728x90

https://www.acmicpc.net/problem/5566

 

5566๋ฒˆ: ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

์ƒ๊ทผ์ด๋Š” ํ˜ผ์ž ๋ณด๋“œ ๊ฒŒ์ž„์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋ณด๋“œ ๊ฒŒ์ž„์˜ ๋ณด๋“œ๋Š” N์นธ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ถœ๋ฐœ์ ์€ 1์นธ, ๋„์ฐฉ์ ์€ N์นธ์ด๋‹ค. ๊ฐ ์นธ์—๋Š” ์ง€์‹œ ์‚ฌํ•ญ์ด ์ ํ˜€์žˆ๋‹ค. ์ง€์‹œ ์‚ฌํ•ญ์€ ๋ง์„ ์–ผ๋งŒํผ ์ด๋™ํ•ด์•ผ ํ•˜

www.acmicpc.net


์ˆœ๊ฐ„ ๋จธ๋ฆฌ๊ฐ€ ์•ˆ ๋Œ์•„๊ฐ€์„œ ์•ฝ๊ฐ„ ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ธ์ง€ ์ดํ•ด ์•ˆ ๊ฐˆ ๋ป”ํ–ˆ๋˜! ๋ฌธ์ œ!

์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๋‹ค

import sys 
input = sys.stdin.readline

n, m = map(int,input().split())

# ์ง€๋„์— ์ง€์‹œ์‚ฌํ•ญ ์ž…๋ ฅํ•˜๊ธฐ
map=[0]*2000 # ์ตœ๋Œ€ 1000๊ฐœ์˜ ์นธ์ด ์žˆ๊ณ , ๊ฐ ์นธ์—์„œ ์ตœ๋Œ€ 999๋งŒํผ ์ด๋™ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๋Š” 2000
for i in range(n):
  x = int(input())
  map[i]=x

# ์ฃผ์‚ฌ์œ„ ๋˜์ง€๊ธฐ
dice = []
for i in range(m):
  dice.append(int(input()))

# ๋„์ฐฉ์ ์— ๋ช‡ ๋ฒˆ๋งŒ์— ๋„์ฐฉํ•˜๋Š”์ง€ ์„ธ๊ธฐ
pos, cnt = 0, 0
for i in range(m):
  pos += dice[i]
  pos += map[pos]
  cnt += 1
  if pos >= n-1:
    break

# ๊ฒฐ๊ณผ ์ถœ๋ ฅ
print(cnt)

 

728x90