컴공 일기248
게시글 주소: https://i.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를 선물하세요.
-
31234 52531 34554 6/7/9/20/32/10/2 524142 30/148
-
화작 비문학 윤사 정법러라 다 배경지식있는거였어서 여유부리면서 손가락걸수있어도 다...
-
23수능 백분위 99 24수능 백분위는 기억도 안나고 3등급 …. 제발 적당히...
-
어떤거같나용?? 제 개인적으론 언매가 좀 빡셌음 지문형도 읽을망했는데 선지판단이 아리까리한 너낌….
-
진짜 확신을 갖고 노가다 검증까지 했는데 제발
-
역시 까고보니 다틀렸군요
-
30분동안 하나도 못풀고 도저히 못하겠어서 드랍함요….
-
더프 12번 4
12번 안 풀려서 존나 애먹었는데 뭐지 대충 설명해주실 분…….. 12번못풀줄몰랐는데
-
→ 수능 동홍 안정 가보자
-
팔이랑 허벅지랑 또 하나해서 3개 뺐는데 진짜 개아프더라고요,,,팔은 마취크림안해도...
-
일단 등장인물들, 관계파악은 다 알고 가야되고 유씨삼대록이나 옥린몽 옥루몽 이런건...
-
대성 19패스 추천 kinjim70 메가커피 만원 받아가세요~ 0
아이디 : kinjim70 주소 : bit.ly/3Uae6Rm 메가커피 만원...
-
답비교해보는데 2
시발 나랑 같은 시험지 푼거 맞나..? 그리고 10덮보다 훨배로 어려웟는데...
-
몇나올거같나요? 보정컷으로
-
따로 풀어보는 게 좋을까요??? 사실 이미 이감 상상 밀렸음
-
다들 몸 건강챙기쇼 ㅡ작수 코로나 걸린 틀딱ㅡ
-
11덮 확통 12
27번 왜 안풀리지 개당황스럽네 계산실수했나
-
11덮 수학 2
어땠나요
-
더프 수학 6
10월보다 훨 어려웠는데 정상임?
-
알려주세요 피해가게
-
덮 수학 망했어 6
몰라 그런가같아
-
더프 답맞춰보실분 33
31234 12531 34534 6 7 9 20 32 10 2 524142 30 15
-
수학 난이도 진짜 뭐냐? 9덮급임 진지하게
-
답 10 2 20 나오신 분 있나요..? 제발
-
글씨 콩알만해서 읽기싫... 근데 배웠던 내용을 활용하는게 신기해서 노잼까진 아닌
-
너무많이남아서 미기둘다풀었음 평이평이한듯 31234 52531 34514 6 7 9...
-
.
-
화작 정신병걸리겠네 거기다 1,2,3회 싹다 선지배치 야랄났음 ㅋㅋㅋ
-
갑자기 3대를 내버리네 ㅅㅂ
-
진작 이렇게 공부할걸
-
다른건 공부안해도 비제는 맞는데 수학은 공부해도 시플 비마냐 이게시발 맞냐??
-
허수 10덮 성적표 22
평백 87이니 허수 맞음
-
인생망한 고2 0
타이틀에서 벗어나기위해 2년잡고 정시공부할것같은데 정시로 잘가신분들 한마디씩 남기고 가주세요
-
국어 독서 4
연계vs기출 뭐부터 해야됨?
-
올해들어 사설 거의 처음이라… 감이 안와서요 선택과목은 화작이고, 시즌 6...
-
언어장벽 어떻게 해결했고 취업도 어떻게 해외 루트 탔다 쳐도 나와 민족적 정체성부터...
-
점근선 극한 17
점근선에서의 극한은 ‘상태’고, 다른 일반적인 극한들은 ‘값’이다 이거 맞나요?
-
무한실모 종료 4
이긴 한데... 이게 말이되나
-
물1 지2 해야지 ㅎㅎ 화학 좟같은거 유기할거임
-
뭐하고 계시나요.. 제대로 뭔가 안되는게 현타와서 글남겨봐요
-
진짜 개뜬금없는데 21수능 누백 계산할수있는데 있나요??ㅠ 9
진짜 개쌉틀딱.. 같은데 혹시 이정도 성적이면 문과 어디까지 뚫었을까요 ????...
-
14번 1번이 정답인건 확실한데 2번 선지 보면 "가(마이농의 해결책)"는 우리가...
-
김승모 3회 2
푸신분들 난이도 어땠나요?? 그리고 화작이나 독서론 의문사 자꾸 하는거 어떻게...
-
국어 시간 4
제가 평소에 국어 실모를 보면 화작에서 빨라도 17분 정도 쓰고 느리면 20분...
-
스태틱 1
의 단검(sweet sword)
-
기기
-
이번 수능 사문 1
도표문제에서 임금격차 안나오는거 맞겠죠..??
-
새우겠지
-
돌리면 그래서 결과가 어떻게 되죠?
-
아 이놈의 모기 0
내 단잠을 깨우다니 아직도 모기가 있어ㅜㅜ
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.