일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- css #생활코딩 #웹
- 백준 #알고리즘 #파이썬 #코딩테스트
- java #자바
- 백준
- 프로그래머스
- 코딩테스트
- 백트랙킹
- BFS
- 투포인터
- dp
- java #자바 #나동빈
- 파이썬 #백준 #알고리즘 #코딩테스트
- 다이나믹프로그래밍
- 파이썬
- PYTHON
- 재귀
- 자바 #java
- 다익스트라
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- java #자바 #생활코딩
- 알고리즘
- Dijkstra
- DFS
- css #웹 #생활코딩
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 백준 #파이썬 #알고리즘 #코딩테스트
- react #리액트 #동빈나 #나동빈 #유튜브강의
- react #리액트 #동빈나
- java #자바 #동빈나
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
Archives
- Today
- Total
커리까지
[백준] 14248번 점프 점프 파이썬 본문
728x90
SMALL
문제
영우는 개구리다 개굴개굴개굴
영우는 지금 n개의 돌이 일렬로 놓여있는 돌다리에 있다. 그리고 돌다리의 돌에는 숫자가 하나씩 적혀있다. 영우는 이 숫자가 적혀있는 만큼 왼쪽이나 오른쪽으로 점프할 수 있는데, 이때 돌다리 밖으로 나갈 수는 없다.
영우는 이 돌다리에서 자기가 방문 가능한 돌들의 개수를 알고 싶어한다. 방문 가능하다는 것은 현재위치에서 다른 돌을 적절히 밟아 해당하는 위치로 이동이 가능하다는 뜻이다.
현재 위치가 주어졌을 때, 영우가 방문 가능한 돌들의 개수를 출력하시오.
입력
첫 번째 줄에는 돌다리의 돌 개수 n이 주어진다.(1≤n≤100,000) 돌의 번호는 왼쪽부터 1번에서 n번이다. 다음 줄에는 그 위치에서 점프할 수 있는 거리 Ai가 주어진다.(1≤Ai≤100,000)
다음 줄에는 출발점 s가 주어진다.(1≤s≤n)
출력
영우가 방문 가능한 돌들의 개수를 출력하시오.
예제 입력 1
5
1 4 2 2 1
3
예제 출력 1
5
제출 답안
import sys
sys.setrecursionlimit(10**9)
input = sys.stdin.readline
n = int(input())
graph = list(map(int, input().split()))
s = int(input())
visited = [False] * (n + 1)
answer = 0
def dfs(node):
global answer
if node < 0 or n <= node:
return
if not visited[node]:
visited[node] = True
answer += 1
dfs(node - graph[node])
dfs(node + graph[node])
dfs(s - 1)
print(answer)
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[백준] 21938번 영상처리 파이썬 (2) | 2023.09.05 |
---|---|
[백준] 1326번 폴짝 폴짝 파이썬 (0) | 2023.09.05 |
[백준] 14496번 그대, 그머가 되어 파이썬 (0) | 2023.09.04 |
[백준] 24481번 알고리즘 수업 - 깊이 우선 탐색 3 (0) | 2023.09.01 |
[백준] 24445번 알고리즘 수업 - 너비 우선 탐색 2 파이썬 (0) | 2023.09.01 |
Comments