컴공 일기248
게시글 주소: https://orbi.kr/00068962554
백준 1937 DP / DFS 융합 문항 풀이
소감 : 본질은 DFS인데, DP의 메모이제이션 기법을 쓰지 않으면 시간 초과가 난다.
탐색 문제들은 제한 시간 + 데이터의 수를 적절히 참조하며 Time Complexity를 따져보는 것이 첫 번째다.
완전 탐색을 해야하는데, 시간이 넉넉하다면 DFS 논리 하나로 가볍게 끌고가도 되지만 데이터 수가 생각보다 많아
제한 시간 내 모든 탐색이 불가능할 것 같으면 DP 냄새를 맡을 줄 알아야 한다.
아니면 더 근본적으로 완전 탐색 상황을 의심해볼 수도 있지만…
대놓고 DFS 였으니 이 부분은 이 문제에서 큰 의미없는 접근이겠다.
#include <iostream>
#include <algorithm>
using namespace std;
// 상 -> 하 -> 좌 -> 우 순으로 DFS 탐색 순서를 정한다.
int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
int forest[501][501];
int DP[501][501];
int N; //find_max의 참조를 위해서 전역변수 선언
int find_max(int i, int j) {
if (DP[i][j] > 0) return DP[i][j]; // 메모이제이션
DP[i][j] = 1;
for (int k = 0; k < 4; ++k) {
int next_x = i + dx[k];
int next_y = j + dy[k];
if (0 <= next_x && next_x < N && 0 <= next_y && next_y < N) {
if (forest[i][j] < forest[next_x][next_y]) {
DP[i][j] = max(DP[i][j], find_max(next_x, next_y) + 1);
}
}
}
return DP[i][j];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int res = -1; // 결과 변수
cin >> N;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
cin >> forest[i][j];
}
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
res = max(res, find_max(i, j));
}
}
cout << res << “\n”;
return 0;
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
정시 13121 0
언미생1생윤일 때 이 정도면 어느 라인 가요? 국어는 백분위100가능 수학 3...
-
네. 독서는 잘 알겠습니다. 쓱 쓱 풀려요. 근데 문학(특히 고전, 통합지문) 이건...
-
나는 정시러나 학교적응이 힘든 학생에게 고3이 학교에 빠지는법에 대한 모든걸...
-
앱스키마 0
앱스키마 문학만 강의 듣고 독서는 그냥 풀기만 하는거 어떰 지문 분석은 안하고 그냥...
-
89->92->86->69->88->86->75 1114113 왜이러지
-
경제관념 개 ㅆㅎㅌㅊ
-
반수생라 공통도 잘 안되어있긴 합니다 현역때 해봤자 4틀이긴했는데 지금 하면 공통도...
-
내신의 최대 좆같은점 해소되는거니까 ㅋㅋ 정시 내신반영만 폐지하면 꽤나 괜찮네
-
내일부턴 닉값을 할 예정입니도
-
정법 하다가 못해먹겠어서 관심있던 역사 하려는데...
-
케이무크 해보신 분 계신가요? 케이무크 사이트에서는 학점 인정되는 걸로 나오긴...
-
안녕하세요? 저는 수능 국어를 가르치는 Serine입니다. 과외 수강생 중에서...
-
좋아! 5
좋은 아침
-
국가는 국민의 건강을 보장해줄 필요가 있고 의료시스템을 구축함 C(헌법) ->...
-
Yesterday list 동사 기출 5개 단권화 (2023~2025) 동사 기출...
-
정시러 질병결석 2
일주일에 3번이나 들었고 심지어 수능선택과목도 아닌데 수능 전까지 자습 한 번도...
-
작수 생윤48 윤사50 받고 8월부터 삼반수 시작한 쌍윤러입니다. 현돌 리뷰 이벤트...
-
컴공 일기248 0
백준 1937 DP / DFS 융합 문항 풀이 소감 : 본질은 DFS인데, DP의...
-
주변에 입시 실패한 애들 강남대 한성대 이런 학교 진학한 애들 다 편입이 더...
첫번째 댓글의 주인공이 되어보세요.