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
- 그리디
- BFS
- 알고리즘
- 해커랭크
- dfs
- dynamic programming
- DP
- 백트래킹
- 맛집
- 삼성 SDS 대학생 알고리즘 특강
- 스택
- 완전탐색
- koitp
- SWEA
- BOJ
- PS
- 잠실
- 시뮬레이션
- 동적 계획법
- C++
- sw expert academy
- 다이나믹 프로그래밍
- 에라토스테네스의 체
- hackerrank
- 브루트포스
- 삼성 기출
- 백준
- Algorithm
- 소수
- 구현
Archives
- Today
- Total
펭로그
[C++] HackerRank 해커랭크 Connected Cells in a Grid 본문
문제링크 : https://www.hackerrank.com/challenges/connected-cell-in-a-grid
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 | #include <bits/stdc++.h> using namespace std; int mat[10][10]; int visited[10][10] = {0,}; int max_size = 0; int find(int row, int col){ if(!mat[row][col] || visited[row][col]) return 0; visited[row][col] = 1; int size = 1; int x = row; int y = col; for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++){ x = row + i; y = col + j; size += find(x, y); } return size; } int main() { int n, m; cin >> n; cin >> m; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) cin >> mat[i][j]; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) if(mat[i][j] || !visited[i][j]){ max_size = max(find(i,j), max_size); } cout << max_size; return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] HackerRank 해커랭크 Counter game (0) | 2018.04.10 |
---|---|
[C++] HackerRank 해커랭크 Tower Breakers (0) | 2018.03.24 |
[C++] HackerRank 해커랭크 Sansa and XOR (0) | 2018.03.22 |
[C++] HackerRank 해커랭크 Flipping the Matrix (0) | 2018.03.21 |
[C++] HackerRank 해커랭크 Forming a Magic Square (0) | 2018.03.14 |
Comments