생각할 것
1. 벡터 선언 범위
2. 인덱스 시작이 0인지 1인지 확인
<정답 코드>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int f, s, g, u, d;
cin >> f >> s >> g >> u >> d;
vector<int> v (f + 1, -1);
queue<int> q;
if (s == g) {
cout << 0;
return 0;
}
q.push(s);
v[s] = 0;
while (!q.empty()) {
int cur = q.front();
q.pop();
int ss = cur + u;
if (ss > 0 && ss <= f && v[ss] == -1) {
if (ss == g) {
cout << v[cur] + 1;
return 0;
}
q.push(ss);
v[ss] = v[cur] + 1;
}
ss = cur - d;
if (ss > 0 && ss <= f && v[ss] == -1) {
if (ss == g) {
cout << v[cur] + 1;
return 0;
}
q.push(ss);
v[ss] = v[cur] + 1;
}
}
cout << "use the stairs";
return 0;
}'알고리즘' 카테고리의 다른 글
| [백준] C++ 6593번:상범 빌딩! (0) | 2025.12.17 |
|---|---|
| [백준] C++ 2468번:안전영역! (1) | 2025.12.16 |
| [백준] C++ 2667번:단지번호붙이기! (0) | 2025.12.16 |
| [백준] C++ 2583번:영역 구하기! (0) | 2025.12.15 |
| [백준] C++ 5427번: 불! (0) | 2025.12.15 |