Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 잠실
- 해커랭크
- 백준
- koitp
- 그리디
- 소수
- BOJ
- 브루트포스
- C++
- hackerrank
- 에라토스테네스의 체
- 완전탐색
- 스택
- sw expert academy
- SWEA
- 동적 계획법
- BFS
- Algorithm
- PS
- dfs
- 알고리즘
- 다이나믹 프로그래밍
- 구현
- 시뮬레이션
- 맛집
- dynamic programming
- 백트래킹
- 삼성 SDS 대학생 알고리즘 특강
- DP
- 삼성 기출
Archives
- Today
- Total
펭로그
[C++] 백준 BOJ 1012 유기농 배추 본문
문제 링크 : https://boj.kr/1012
BOJ 11724 연결요소의 개수랑 매우 유사한 문제로 생각된다.
인접한 배추들이 존재한다면 하나로 이어진 배추들에는 지렁이가 한마리씩만 필요하다.
결국 연결요소 문제랑 동일하게 연결요소의 갯수를 세면 되는 문제다.
visited를 따로 만들지 않고 dfs로 탐색이 가능한 위치면 true로 두었고 방문 불가능한 위치이거나 방문했다면 false로 두었다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | // BOJ 1012 유기농 배추 #include <bits/stdc++.h> using namespace std; vector<vector<bool> > cbg; const int dx[4] = {1, -1, 0, 0}; const int dy[4] = {0, 0, 1, -1}; void dfs(int x, int y){ cbg[x][y] = false; // 방문 체크 for(int i = 0; i < 4; i++) { if(cbg[x + dx[i]][y + dy[i]]) dfs(x + dx[i], y + dy[i]); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); freopen("../input.txt", "r", stdin); int tc; cin >> tc; while (tc--) { int X, Y, cbgCnt; cin >> X >> Y >> cbgCnt; // 배추가 심어진 위치를 담은 배열 (계산 편의상 +2씩 해줌) cbg = vector<vector<bool> >(X + 2, vector<bool>(Y + 2, false)); int x, y; for (int i = 1; i <= cbgCnt; i++) { cin >> x >> y; cbg[x + 1][y + 1] = true; // 계산 편의상 +1씩 해줌 } int result = 0; for(int i = 1; i <= X; i++){ for(int j = 1; j <= Y; j++){ if(cbg[i][j]) { cbg[i][j] = false; dfs(i, j); result++; } } } cout << result << '\n'; } return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] 백준 BOJ 2581 소수 (0) | 2018.08.11 |
---|---|
[C++] 백준 BOJ 2468 안전 영역 (0) | 2018.08.11 |
[C++] 백준 BOJ 10451 순열 사이클 (0) | 2018.08.10 |
[C++] 백준 BOJ 11724 연결 요소의 개수 (0) | 2018.08.10 |
[C++] 백준 BOJ 2178 미로 탐색 (0) | 2018.08.09 |
Comments