BFS 3

백준 13913번 숨바꼭질 4 ( C++ )

문제https://www.acmicpc.net/problem/13913 해설최단경로를 찾는 문제이기 때문에 BFS사용어떤 경로로 이동했는지를 알려줘야 하기 때문에 last사용(prev로 바꿀것) 코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include bits/stdc++.h>using namespace std; int n, k;int visited[2000004];int last[200004];stackint> ret; void bfs(int start){  visited[start] = 1;  queueint> q;  q.push(star..

백준 12851번 숨바꼭질 2 ( C++ )

문제https://www.acmicpc.net/problem/12851 해설최단거리를 묻는 문제이기 때문에 BFS사용모든 경우의 수를 구하라고 했기 때문에 visited 이외에 cnt를 사용하여 경우의 수 계산 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include bits/stdc++.h>using namespace std; int n, k;int visited[200001];int cnt[200001]; void bfs(int num){  queueint> q;  int now_num = num;  q.push(num);  visited[num] = 1;  cnt[num]..

백준 2178번 미로 탐색(C++)

문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 해설 N*M형태의 지도에서 최단거리를 구하는 문제이기 때문에 BFS사용 코드 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 32 33 34 35 36 37 38 39 40 41 #include using namespace std; int visited[104][104]; int dx[4] = {0,1,0,-1}; int ..