https://www.acmicpc.net/problem/16928
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int togo[101] = { 0 };
int d[101] = { 0 };
int main() {
int N, M; cin >> N >> M;
for (int i = 0; i < N + M; i++) {
int u, v; cin >> u >> v;
togo[u] = v;
}
queue<int> q; q.push(1);
while (!q.empty()) {
int n = q.front();
q.pop();
for (int i = 1; i <= 6; i++) {
int next = n + i;
if (next > 100) break;
if (togo[next] > 0) {
next = togo[next];
}
if (d[next] == 0) {
d[next] = d[n] + 1;
q.push(next);
}
}
}
cout << d[100] << endl;
return 0;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "1032) 명령 프롬프트" (0) | 2022.06.27 |
---|---|
(c++) 프로그래머스 "오픈채팅방" (0) | 2022.06.23 |
(C++) 프로그래머스 "보행자 천국" (0) | 2022.06.10 |
(c++) 백준 "1992) 쿼드 트리" (0) | 2022.06.09 |
(c++) 백준 "5525)IOIOI" (0) | 2022.06.08 |