배열에서의 dfs, bfs
배열에서 길찾기를 하는 문제가 있을것이다. 이 때 사용할 수 있는 테크닉이다.
const int dx[4] = {-1, 1, 0, 0};
const int dy[4] = {0, 0, -1, 1};
void dfs(int x, int y, char color)
{
visited[x][y] = true;
for (int i = 0; i < 4; ++i)
{
int nx = x + dx[i];
int ny = y + dy[i];
if (nx >= 0 && nx < N && ny >= 0 && ny < N && !visited[nx][ny] && grid[nx][ny] == color)
dfs(nx, ny, color);
}
}