-
70. 그래프 최단거리 (BFS: Breadth First Search)알고리즘 문제풀기/인프런 강의 정답 2022. 5. 19. 12:30
나의정답.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <iostream> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> using namespace std; int main(int argc, char** argv) { //freopen("input.txt", "rt", stdin); vector<int> map[30]; queue<int> q; int ch[30] = { 0 }, dis[30], n, m, a, b, x; scanf("%d %d", &n, &m); for (int i = 0; i < m; i++) { scanf("%d %d", &a, &b); map[a].push_back(b); } q.push(1); ch[1] = 1; dis[1] = 0; while (!q.empty()) { x = q.front(); q.pop(); for (int i = 0; i < map[x].size(); i++) { if (ch[map[x][i]] == 0) { ch[map[x][i]] = 1; q.push(map[x][i]); dis[map[x][i]] = dis[x] + 1; } } } for (int i = 1; i <= n; i++) { printf("%d : %d\n", i, dis[i]); } }
'알고리즘 문제풀기 > 인프런 강의 정답' 카테고리의 다른 글
72. 공주 구하기(조세퍼스 : 큐를 이용하는 방법) (0) 2022.05.20 71. 송아지 찾기 (BFS : 상태트리탐색) (0) 2022.05.19 69. 이진트리 너비 우선 탐색( 큐 자료구조 직접구현 : BFS) (0) 2022.05.17 68. 최소비용(인접리스트) (0) 2022.05.16 67. 최소 비용 (그래프 DFS) (0) 2022.05.15