dfs 3

C

[BOJ 4963] 섬의 개수 C++

섬의 개수 난이도: Silver 2 번호: 4963 사용 함수, 자료 구조: memset 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ 4963번: 섬의 개수 C++ 상하좌우와 대각선 방향까지 8방 탐색을 할 수 있도록 방향배열(dX, dY)을 설정해준다. const int dX[] = {1, -1, 0, 0, 1, 1, -1, -1}; const int dY[] = {0, 0, -1, 1, 1, -1, 1, -1}; 8방 탐색중에 Out of Bound가 발생할수 있는데 해결에는 2가지 방법이 있다. if 조건 추가 if (i = M || j >= N) continue; 그래프 배열 상하좌우에 1칸씩 여유공간을 만들어준다...

Algorithm/BOJ 2023.02.09

C

[BOJ 1012] 유기농 배추 C++

유기농 배추 난이도: Silver 2 번호: 1012 사용 함수, 자료 구조: memset 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ 1012번: 유기농 배추 C++ BFS #include #include using namespace std; const int dX[] = {1, -1, 0, 0}; const int dY[] = {0, 0, -1, 1}; int N, M, K, cnt; bool node[51][51]; bool visited[51][51]; void reset() { cnt = 0; for (int i = 0; i < 51; i++) for (int j = 0; j < 51; j++) { node[i][j] = false; visited..

Algorithm/BOJ 2023.02.08

C

[BOJ 2606] S3 바이러스 C++

바이러스 난이도: Silver 3 번호: 2606 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ 2606번: 바이러스 C++ #include using namespace std; int N, P; // 컴퓨터가 최대 100개 이므로 path도 최대 100 * 100 bool path[101][101]; bool visited[101]; void DFS(int S) { visited[S] = true; for (int i = 1; i sync_with_stdio(0); cout.tie(0); cin >> N >> P; for (int i = 0; i > a >> b; path[a][b] = true; path[b..

Algorithm/BOJ 2023.02.07