[백준 1697] 숨바꼭질
·
Programming/PS
문제https://www.acmicpc.net/problem/1697코드// 첫 번째 풀이// for + switch문 사용#include using namespace std;int N, K;queue q;int line[100001]; // 이동 거리를 저장할 배열void LineBFS() { while (!q.empty()) { auto x = q.front(); q.pop(); // X-1, X+1, 2*X 모두 범위, 이미 방문한 곳인지, K와 같은 지 확인 for (int i = 0; i = 100001) break; // 범위 벗어나면 if (line[x - 1] != -1) break; // 이미 방문했으면 line[x - 1] = line[x] + 1; q.pus..
[백준 1012] 유기농 배추
·
Programming/PS
문제https://www.acmicpc.net/problem/1012코드#include using namespace std;int matrix[50][50];int T, M, N, K, X, Y;int cnt = 0;queue> q;int dy[4] = { -1, 1, 0, 0 };int dx[4] = { 0, 0, -1, 1 };void BFS() { while (!q.empty()) { pair front = q.front(); q.pop(); for (int i = 0; i = M || newY = N) continue; if (matrix[newY][newX] != 1) continue; matrix[newY][newX] = 0; // 방문 처리 q.push(make_pair(new..
[Algorithm] BFS (다차원 배열)
·
Programming/Algorithm & Data Structure
https://blog.encrypted.gg/941 [실전 알고리즘] 0x09강 - BFS안녕하세요 여러분, 드디어 올 것이 왔습니다. 마음의 준비를 단단히 하셔야 합니다.. 드디어 실전 알고리즘 강의에서 첫 번째 고비에 도달했는데 이 강의와 함께 이번 고비를 잘 헤쳐나가면 좋blog.encrypted.gg대부분의 내용을 위의 게시물을 참고해 작성한 글이다.BFS의 기본 개념BFS를 사용하면 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문할 수 있다. BFS는 원래 그래프에서 모든 노드를 방문할 때 사용하는 것이 맞지만... 그냥 다차원 배열에서도 사용할 수 있다고 생각하자. (다차원 배열에서의 탐색이 필요한 문제는 전부 BFS로 푼다고 생각해도 된다. DFS는 그래프나 트리에서 자주 사용됨)..
snwdaaa
'BFS' 태그의 글 목록