컴공 일기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를 선물하세요.
-
아 배고프다 5
저녁묵었는데 배고프네...
-
대부분 다 그렇던데 남자가 여자보다 덩치도 크고 타고난 뼈대도 굵고 머리나 얼굴도...
-
실검 뭐임? 1
보추?
-
나만 험악한거 아니지...ㅠ? 진짜 너무어렵다
-
나는 수험생이다 나는 서울대 지망하는 수험생이다
-
고3때 정병 개싼거 톡방에 박제당했는데 여기서 복학하기 싫다는 얘기 하면 안되겠다
-
ㅋㅋ시발
-
혹시 이명학 션티 두분 다 경험해 보신분 계실까요?(빈칸, 순삽) 0
안녕하세요 작년에는 이명학T 커리를 탔는데 다는 못타고 파이널을 위주로 보고 올해는...
-
걍 지우고 다시 풀어볼까요? 좀 아깝기도 하고 강사분들 해강도 있고 해서
-
산책 + 턱걸이 하러 갈까 말까… 고민됨
-
0.봇치더락 1.카구야님은 고백 받고싶어 2.오빠는 끝 3.유사하렘 4.던전관리인...
-
응.
-
걍 개호감임 ㅋㅋ
-
Ladies and Gentlemen, My name is Ryan from...
-
응애 0
-
sec t => 섹트 생각남 집가서 트위터봐야겟다
-
일요일엔 공부하지마세요 13
제발요...
-
어쩐지 어렵다 했다..
-
9덮 물2 1컷 0
몇일거같나요 일단 필자는 허수 34임,,
-
젊은 의사들 얘기하는거다 학생때 공부하고 의대입학하면 다른대학생들 여름,겨울방학...
-
공부해도 오르는기분은 진짜 개좆도안들고 걍 이게 맞는듯 근데 이게 이시점에 할 소리인가 싶긴 하네
-
몇개만 제대로 내걸로 만든다는 생각으로 계속 돌리는게 훨 나을듯
-
N제풀어야하는데체력딸림...
-
더프탐구 ㅗㅗㅗㅗ 17
지구 43 물2 35 ㅇㅈㄹ
-
만년3 탈출 해보자
-
한달반 숙성 드가자
-
퀘벡 심의 0
캐나다 퀘벡 주의 영화 심의는 세계에서 매우 관대하던데 이유는 뭐야
-
정말 발상이.. 그래프 개형까진 찾았는데 적분이 정말 발상적이네요 ㄷㄷ 푸신분들 있나
-
끝난거임?
-
러셀 1년 내내 다녔는데 첫 더프 현장응시네요,, 언 98 미 77 (28번...
-
지구과학 모고 좋은거 추천해주세요
-
뭔가 있어보이는 용어
-
사귀고싶음… 근데 나보다 우리 아빠랑 나이 차이 덜 날 텐데
-
영어걍좆까라하고 서강대노렸겠지
-
고딩때도 좋은 대학만 가면 행복해질 수 있을거라 믿었는데 막상 대학 가고 나니 나랑...
-
이해원n제 남은거 끗 스탠n제2권끗 이정환 공통모 스탠모 이감수학2-2? 전국서바...
-
제가 옛날에 한 주장인데여 우주전체에 열이 고르게 퍼져서 모든것이 절대영도가 되면...
-
뭐가 낫나요
-
어제 물어봤을 때 그린 1권, 블루 34권 남아있다 해서 제가 그린이랑 블루 1권씩...
-
질문 해드림니다 24
다들 댓글 남겨주세요
-
새로운 세계를 건설하자 '
-
국어 1, 영어 1은 거의 고정입니다 ㅠㅠ 수학이 4네요 ㅠㅠ 그렇다고 수포자도...
-
오늘의공뷰 3
국어 강k8회 올해 커하 아마 작수이하같은데 좆됨 진짜 수학 킬캠2-4? 88...
-
는 말만 듣고 노베인데 공부 안 한 놈 = 나 9평 끝나고 급하게 하는중...인데...
-
복학하게 되면 동기들도 다 나 병신취급할거같고 모두가 다 나 조롱할거 같아...
-
영어는 근데 보통 2-3스타트가 많아서 공감을 못해줌 9
2-3 스타트로 2까진 쉬우니까 뭐 어릴때 공부안한 자신을 탓하는 수밖에없죠
-
공통 난이도 어땠음요? 수2는 쉽고 수1이 어렵던데;
-
좆술회전 완결
-
밸런스 게임 3
남친 인스타 팔로잉 여자 300명 Vs 남친이 오르비 금테
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.