-
[BOJ - JAVA] 2468 - 안전 영역 (DFS) 본문
728x90
반응형
# 주소
https://www.acmicpc.net/problem/2468
# 문제
# 문제 해설 및 코드 리뷰
import java.util.*;
public class Main{
static int[][] arr;
static int[] dx = {-1,1,0,0};
static int[] dy = {0,0,-1,1};
static int n;
static boolean[][] visit;
static int count;
static ArrayList<Integer> list;
static int max_count = 0;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
arr = new int[100][100];
visit = new boolean[100][100];
int max = -1;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
arr[i][j] = scan.nextInt();
max = Math.max(max, arr[i][j]);
}
}
list = new ArrayList<>();
list.add(1);
for(int k = 1; k < max; k++) {
count = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if(visit[i][j] == false && arr[i][j] > k) {
dfs(i,j,k);
count++;
}
}
}
list.add(count);
visit = new boolean[n][n];
}
Collections.sort(list);
System.out.println(list.get(list.size() - 1));
}
static void dfs(int a, int b, int x) {
visit[a][b] = true;
int nx,ny;
for(int i = 0; i < 4; i++) {
nx = a + dx[i];
ny = b + dy[i];
if(nx >= 0 && ny >= 0 && nx < n && ny < n) {
if(arr[nx][ny] > x && visit[nx][ny] == false) {
dfs(nx,ny,x);
}
}
}
}
}
하 진짜 이거 너무 열받아서 엎어버릴 뻔했습니다.
5시간 걸린거같아요.
코드는 정답대로 입력한거 같은데 자꾸 출력은 1이 되더라고요???
그래서 하 진짜 뭐지 뭐지 하다가 제일 위에 보니까 static int n;이렇게 선언해놓고
그 바로 밑에 int n = scan.nextInt(); 이렇게 입력되어 있더라고요.
그래서 자꾸만 1만 출력되고 dfs함수가 제대로 안돌아가는거였네요 하... 정답률 저렇게 낮은데 저도 일조할 뻔 했습니다.
문제 자체는 쉬운편이에요. 다만, 비가 오지 않을 때 (x 값이 0일 때)도 생각해주어야 한다는 것이 걸림돌이 될 수도 있습니다.
그리고 dfs는 k이상이고 dfs가 실행될 때마다 count를 증가시키는... 지금까지 풀었던 bfs와 상당히 흡사하죠???
근데 진짜 이 문제 더 리뷰 못하겠어요 진짜 너무 화나서, 아니 하 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
계속 저대로 제출했는데 int n 하나쓴거 때문에 틀렸다고만 하는게 진짜 너무 열받아요.
5시간이면 백준 문제 최소 10개는 더 풀텐데, 그러지도 못하고 6시부터 11시 20분까지 지금 저거 푼다고 이러고 있었네요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
만약 이 문제 피드백 더 필요하시면 댓글 남겨주세요. 제가 전부 알려드릴게요.
더 리뷰 못하겠어요 이문제 보기만 해도 진절머리 나네요..
728x90
반응형
'백준 문제 풀이' 카테고리의 다른 글
[BOJ - JAVA] 10026 - 적록색약 (BFS) (0) | 2021.12.08 |
---|---|
[BOJ - JAVA] 15686 - 치킨 배달 (완전 탐색, 백트래킹) (0) | 2021.12.07 |
[BOJ - JAVA] 4963 - 섬의 개수 (BFS) (0) | 2021.12.05 |
[BOJ - JAVA] 11724 - 연결 요소의 개수 (BFS) (0) | 2021.12.04 |
[BOJ - JAVA] 10814 - 나이순정렬(Comparator, Comparable 인터페이스) (0) | 2021.12.03 |
Comments