Algorithm/BOJ
[BOJ 14248] 점프점프 C++
surimi🍥
2023. 3. 6. 13:18
반응형
난이도: Silver 2
번호: 14248
생성일: March 6, 2023 1:14 PM
알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색
언어: C++
C++
#include <iostream>
#include <queue>
using namespace std;
int N, S;
int map[100001];
bool visit[100001];
int BFS()
{
queue<int> Q;
Q.push(S);
visit[S] = true;
int cnt = 1;
while (!Q.empty())
{
int cur = Q.front();
Q.pop();
int up = cur + map[cur];
if (up <= N && !visit[up])
{
visit[up] = true;
Q.push(up);
cnt++;
}
int down = cur - map[cur];
if (down > 0 && !visit[down])
{
visit[down] = true;
Q.push(down);
cnt++;
}
}
return cnt;
}
int main(void)
{
cin >> N;
for (int i = 1; i <= N; i++)
cin >> map[i];
cin >> S;
cout << BFS();
return (0);
}
반응형