coding-test

· coding-test
중점: 1. bfs 알고리즘 사용 2. 시작점 찾는 문제랑 동일한 로직 사용 3. 이때 while문 안에서 그림의 넓이를 count하며 가장 큰 값을 유지 정답 코드: #include using namespace std; #define X first #define Y second int board[502][502]; int vis[502][502]; int n, m; int dx[] = {1, 0, -1, 0}; int dy[] = {0, 1, 0 ,-1}; int main(void){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for (int i = 0; i > board[..
· coding-test
중점: 1. bfs 알고리즘 사용 2. 기존 bfs에서 방향을 나타내는 배열을 사용하는 것 대신에 bfs알고리즘 안 for 문에서 방향을 설정한다. 3. 행렬이 아닌 1차원 배열로 진행함 정답 코드: #include using namespace std; int board[100005]; int n, k; int main(void){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> k; board[n] = 0; queue Q; Q.push(n); if (n == k){ cout 100005) continue; if(board[nxt] > 0) continue; board[nxt] = board[cur] + 1; Q.push(nxt); } } cout
· coding-test
중점: 1. bfs 알고리즘 사용 2. 행렬에서 시작점 파악 후 queue에 push 3. 시작점 파악 시에 방문 여부, 배추가 심어져 있는지 확인 정답 코드: #include using namespace std; #define X first #define Y second int m, n, k; int board[52][52]; bool vis[52][52]; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; queue Q; void bfs(int x, int y){ vis[x][y] = true; Q.push({x, y}); while (!Q.empty()) { auto cur = Q.front(); Q.pop(); for(int dir = 0; dir <..
도멩
'coding-test' 카테고리의 글 목록 (8 Page)