컴공 일기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를 선물하세요.
-
오고고곡 28
날씨 더워죽갯다...
-
체질이란게바뀝니다6평에서비문학한문제틀렸던사람이9평에서비문학다섯개틀리는병신으로바뀌어버립니다
-
어떻게됨?ㄷㄷ
-
국어 4, 5등급한테 추천 해 줄 만한 실모 없나요? 16
제목이 곧 내용 학교 선생님이 무조건 수능은 실모를 많이 풀아봐야 된다고 하셔서
-
순수 재미 joat임 내가 개념서를 다시 피게 하다니 근데 작년 나 글씨 왜저러지 ㅋㅋㅋ
-
지능퇴화 레전드 3
6평 독서 1틀>9평 독서 5틀
-
9평 화작 미적 영어 생1 지1 31422인데 텔그 돌려보니깐 영어 한등급씩...
-
16선에서 커트 될까 ㅅㅂ 제발 그만좀 들어와
-
걍 경쟁률이고 나발이고 아가리하는게맞겠지 국어진짜어캄ㅅㅂ
-
지학 질문 1
고위도에서 저위도로 흐르는 해류는 고위도 방향으로 에너지를 이동시키지 않나요?...
-
16명 모집 1417명 지원 최저가 4합5인데 저렇게나 많어...??
-
응 난 세번째 하는 중이야ㅋㅋㅋ
-
고대 중어중문이였나 2022인가 2023에 정시 최종업뎃이 0.xx대 1이였는데...
-
지구 폴라리스 오리온 식센스 블랙 실모 난이도 어때요? 0
oz모 시즌2에 비해 어떤가요? 오리온은 좀 쉽다는 평도 있던데.. 오즈모...
-
재능없어 울었어ㅠ
-
김과외 1
로 과외 구해서 잘 하다가 학부모님이 현금영수증 가능하냐고 물어보시는데.. 대충...
-
문 달린 1인실 아니고 잇올같이 완전 밀폐형인데 여긴 유리문 아니고 걍 방문마냥 진짜 밀폐임
-
매일 사람 이렇게 많은거 적응 안되고 숨막혀 빨리 이사가던가 내가 지방 내려가던가 해야지
-
한의대 오지마라 3
예과부터 현타 ㅈㄴ 온다 특히 지방이면 쓰지도 않은 인설약이 아른아른거림
-
15 : 1 캬캬캬캬캬 11
도박성공 자 ~~~ 드가자 4합8 렛츠고 ㅋㅋㅋㅋㅋ
-
교육 64 국어 37.2 영어 49 지리 38 역사 51.67 이 정도면 폭임 펑임?
-
현우진 커리 1
수분감 듣고 뉴런이 좋나요 뉴런 듣고 수분감이 좋나요 병행 제외하구요 모고 3~4등급 시발점 2회독
-
공부열심히해서 쥰내힘들때 hp 회복하는 팁 공유좀하자 0
산책하기 자기 이런 진부한거 말고 신박한거 없을까 일단 나 하나 투척하자면 초코우유...
-
공부 손 놓고 있다가 아버지께서 대학은 그래도 나와야지 않겠나 해서 늦은 나이에...
-
작년 28 대 1보다 5대1이나 줄었따 블라인드동안 7배수 더 들어왔군 이징도면 킹쁘지 않아
-
계속 이렇게 뜸
-
지2 6일차 10
6단원 매개완 매기분 + 크로녹스 아스트라로 개념기출 2회독 완료. 드디어 죽음의...
-
현역 때부터 윤성훈T만 듣다가 이번 6모 9모 해설강의는 최적쌤거 한번 들어봤는데...
-
1회가 훨씬 수월하게 풀리네
-
서버가 아수라가 됐네 ㄹㅇ
-
교재에 언급이 딱히 없어서요.
-
교재가 업로드 되었습니다....
-
증가분이 다 실수가 아니길 빕시다
-
새로운 공부법 0
1) 1-10번만 수학 몰아 풀기 2) 질문 리스트 만들어서 조교쌤들한테 질문해달라하기
-
소집해제 버프 on 11
오늘부터 달린다 이게 진짜 9주연마지 ㅋㅋ
-
국민대 면접 0
국민대 면접이랑 이대 논술이랑 날짜가 겹치는데 작년에는 면접 몇시에 했는지 아시는...
-
히히
-
대성 서버 터졌네 17
아수라 사게 해줘 !!!
-
빈순삽 손도 못대고 쉬운문제랑 듣기도 좀 틀리는 4등급인데 점수 올릴 수 있는 방법 없나요?
-
✨(선착순 10명)서울대 재학생과의 1대1 맞춤형 100분 멘토링 서비스✨ 5
안녕하세요, 저희는 서울대학교 학생 단체 SNU나래샘입니다. 혹시 이 선생님, 저...
-
뭐지 교재 판매 오픈하자마자 대성 서버가 터져버림 아기 토리의 위엄?
-
매일 하는거 국어: 수특수완 복습 하루 3지문씩--> 아수라 개강후 아수라 커리...
-
대성마이맥 서버 5
지금 서버 나만 이상한가.. 책 구매하기 눌러도 절대 안되네
-
냥대 자전 0
냥대 자전 자연 경쟁률 뭔데;;
-
6모 39 9모 48인 현역입니다 현재 방인혁 펀더멘탈 프솔로 개념 기출했는데...
-
원랜 풀커리 타려고 했는데 이번엔 ebs를 최대한 챙겨볼려구요 혹시 저같은분 없나여...
-
일단 어디넣었는지는 다들 알것 그래그래 즐거운경쟁해보자꾸나
-
절반 맞음 붙음 물론 답만 맞는게 아닌 기본적으로 논리적 사고도 맞아야 해요. 답이...
-
아님 ㄴㄴ? 예전에 인문논술에 수학 나왔다고 들은듯한데.. 만약 수학문제 나오면...
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.