컴공 일기248
백준 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를 선물하세요.
-
안녕하세요 수학 노베이스여서 중학수학->고1수학 마친 후 강의+문풀중인데 중간...
-
오늘은 데이오프 0
지구 2개 생명 3개 풀고 컨디션 급속도로 악화.. 속이 안좋아짐
-
2등급?
-
진짜 가을 2주 미만이겠다..
-
[화학 논술] 경희 메디컬/연원의 지원자라면, 추석 벼락치기 0
안녕하세요, Uni-K LAB 입니다 메디컬 논술을 노리는, 화학1을 경험해본...
-
컨텐츠 추천좀 걍 강k를 듣기빼고 하프모처럼 풀까요
-
재수생 버전으로 현대판 리메이크 해도 재밌을듯
-
어디감?
-
ㅅㅂ
-
아직 미들인데 개어렵다길래 뒷부분이 두려워요
-
Wait for me 부를 때 울 뻔
-
전직 평가원 문제 연구원들이나 은퇴나 현직 교수들 중 희망하는 사람들 커넥트 해서...
-
핀셋 에스컬레이드 풀고나니까 혼미함 50분잡고 다 풀수가 없음
-
배아파
-
확통 6시간 컷 0
논술대비로 토일월 2시간씩 3일 수업들었는데 9평 다 풀리네요 히히
-
즐추되세요 2
-
상평시절 '길잃은 사내'로 유명했던...
-
사설 22번들은 지금 시점에서 안풀리면 안푸는게 나을까요 히카 시즌 5 푸는중인데...
-
뭔가 잘못 된 거 같은데
-
개인적으로 보자면 시대 서바, 마스퍼티스는 약간 교육청 느낌 더데유데는 평가원 느낌...
-
틀이라고 놀리지마라..
-
04면 틀이지 14
늙은이들은 수능 좀 그만 봐라 ㅋㅋ
-
좀만 늦게 일어나도 독재 결석하고 그래서 같이 기상인증하고 하루 공부한 거 인증하실...
-
진짜 그냥 올거면 오라고 문만 열어둔거고 아무도 없었음 친구랑 단둘이 공부하다가...
-
평가원 높2 교육청 1 나오는데 미적분이 좀 약한 거 같아서.. 지금 늦게라도...
-
타과 재학생 분이 그러시던데 지금 여론도 그대로인지 궁금함 @설뱃
-
명절에도 스카 오지 말고 학교에 가야된다고 생각해요...
-
사람들의 열기가 없어...외로워
-
반공차 공식… 0
볼때마다 아 써야지 하는데 막상 문제 만나면 ..? 이거 뭐 써야했더라 로 인식됨...
-
걍 갈아서 플로우나 숏컷에 넣고 전국서바나 주지 무슨 삼도극 프랙탈 든 실모를 그대로내놓냐 쯧...
-
영어 문제 시간 0
한문제당 몇분 몇초 정도 재고 푸는게 좋을까요
-
하 5
이제 1주일
-
저 놈 왜 안사라지는 거임 왜..? 무지성으로 기함수 싹다 날렸는데…
-
이땐 진짜 하루에 10시간 이상 메이플했었는데 올해 1월이 신창섭이 리부트 죽여서...
-
천만 덕코 드림 4
10M xdk dream
-
공부나해야지 0
카공가자
-
여긴 수험생 갤이니까 공부하려나
-
수특은 가격이라도 싸지
-
ㅇㅇ
-
쉬운 수학 실모 2
추천 해주세요 오르비 기준 말고 진짜 쉬운 실모로용
-
해강 보시나요? 아님 해설지로만 오답하고 끝?
-
취미가 덕코모으기면 데요
-
오늘 할거 0
1.수학 쉬운 실모 하나 풀고 기분 좋아지기 2.국어 3지문만 풀기 3.탐구 실모...
-
어디있었는지 까먹어서...
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.