diff --git a/src/week2/BOJ2583/BOJ2583_V1.cpp b/src/week2/BOJ2583/BOJ2583_V1.cpp new file mode 100644 index 0000000..70d6221 --- /dev/null +++ b/src/week2/BOJ2583/BOJ2583_V1.cpp @@ -0,0 +1,69 @@ +#include +using namespace std; +int M, N, K; +vector> inp_map; +vector> visited; +int dy[4] = {-1, 0, 1, 0}; +int dx[4] = {0, 1, 0, -1}; +vector result; +int dfs(int y, int x, int size) { + visited[y][x] = 1; + + for (int i = 0; i < 4; i++) { + int ny = y + dy[i]; + int nx = x + dx[i]; + + if (ny < 0 || nx < 0 || ny >= M || nx >= N || visited[ny][nx] || !inp_map[ny][nx]) + continue; + + size = dfs(ny, nx, size+1); + } + + return size; +} +int main() { + + ios_base::sync_with_stdio(false); + cin.tie(NULL); + cout.tie(NULL); + + cin >> M >> N >> K; + + for (int i = 0; i < M; i++) { + inp_map.push_back(vector(N, 0)); + visited.push_back(vector(N, 0)); + for (int j = 0; j < N; j++) { + inp_map[i][j] = 1; + visited[i][j] = 0; + } + } + + for (int i = 0; i < K; i++) { + int sty, stx; + int edy, edx; + cin >> stx >> sty >> edx >> edy; + for (int j=0; j