컴공 일기248
게시글 주소: https://a.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를 선물하세요.
-
자라 2
거북
-
학교에서 복도 지나갈 때마다 염장질 보느라 광광 울었다
-
진지하게 에프킬라 1/8은 썼는데 미친새낀가
-
나만없음?
-
진짜 자야지.. 내일도 국어 물리에 투자해야함요
-
아파트 ㅅㅂ 7
하 이감 푸는데 하 ;; 머리에서 아파트가 떠나질 않네 ㅋㅋ 아파트 아파트 아파트...
-
진주삽니다(경상대있음) 부모님 둘다 공무원이신데 집이 글케 잘살진 않아서… 사범대...
-
클리어 모의고샤 0
클리어모의고사 어려운거맞죠?ㅜ 파이널꺼말고 초반회차 올해사놓고 이제 푸는데.....
-
확실히 불닭이랑 10
타코야키 조합은 맛있네
-
연애라... 0
언젠간 나도 해 보겠지
-
오아시스 노추 1
이건 음반보다 라이브가 더 좋음 음원은 좀 잔잔해요
-
도파민에 절여진 삶.. 주말도 좋은데 싫다 평일 내뇌 장 개장 내놔…
-
난 씹덕이 싫어 9
자기만 보는건 ㅇ노상관인대 프로필 이상한 보가도삻은 애니로 해놓거나 블루아카이브같은...
-
어카냐 3
잠 안 온다
-
공군에서 준비 기준이고요 전전이었고 2학년 2학기까지 마치고 입대합니다 한의대...
-
다 너는 문과가 적성이다라고 해서 또 철학 좋아해서 문과 가려고 고1 마지막까지...
-
진짜 나만 듣기 아까워서 공개한다
-
설컴 재학생입니다. 대학/입시 질문 및 고민 있으신가요 17
확인하는 대로 최대한 답변드리겠습니다 입학은 22년도 초에 했고, 정시 전형이었습니다.
-
대성영어는 이명학,션티로 나뉘는거 같은데 둘이 차이가 뭔가요? 아니면 둘이 같이...
-
진짜로
-
교양은 시험보기 전날 저녁에 처음 공부 시작해서 강의자료만 대충 훑어봐도 A나 최소...
-
시간 개빠르네
-
실력을 올릴 기간이 부족하다보다는 다들 힘빠지고 공부 안돼서가 더 큰 듯요
-
게이머, 연예인, 댄서, 운동선수, 밴드, 아이돌 등 예체능쪽 다 해보고 싶음 뭔가...
-
이안에서 보는법 있었는데
-
목표 등급인 23211 충분히 될꺼같은데 공부 너무 안잡히네요.... 아무리봐도...
-
내년 과탐 1
지1 화2ㄱㄱ 작년에 물2 봤고 2등급 받았는데 엄마가 물2는 안봤으면 좋겠대 ㅋㅋ...
-
고1 때 비 많이 온 날에 운동장에 물웅덩이 생겼는데 4
급식실 앞에서 애들 4명이 갑자기 절 들더니 거기에 빠뜨림
-
동의? 보감
-
그래서 슬픔
-
충혈된건 왼쪽인데 박박긁고싶음
-
담요
-
이제 아수라 하려는데 총정리과제 너무 많아서 걍 ㄷ간쓸개하려는데 ㄱㅊ한가요 국어 1-2 입니다
-
Chapter 1,2 버리고 3,4만 공부할 거야 차피 1,2보다 3,4가 더 핵심...
-
대성패스 쿠폰으로 남은 기간 살만한 교재나 모고 있으면 추천해주세요!! 국어,...
-
아 드랍할까
-
공용주방에서 8
사시미든 이웃 외국인보고 지릴뻔했네 요새 흑백요리사 보고 자꾸 희한한 음식...
-
6모 12122 9모 12112 10모 12121인데 수학과탐은 컷이고 국어는 다...
-
친구들이랑 일본 여행가기 히나미자와 성지순례하기 한강 작가님 소설 정독하기 그림 연습하기 정도...
-
고등학교때는 많이 했던거 같은데 요새는 거의 안하는거 같음 특히 육성으로는 절대...
-
집에가야지... 4
배고파서못견디겟다이말이야
-
선선선형과 함께 방송하고 외고 연애 썰 풀고 대학 발표에서 춤 춘 썰 풀던 미미미누가 그립군아
-
연어덮밥 피자스쿨 고구마피자 봉구스밥버거 마라탕 삼겹살 헤헤
-
https://youtube.com/shorts/F0oGnCQy73I?si=OwLAm...
-
열심히 하면 뭐든 되겠죠
-
걍 잠이나 자야겠다
-
딱 완전 졸릴때가 있는데 그 타이밍 어케 버티니까 또 잠이 안오네
-
을 알려드리기 전에, 번따를 하는 것은 죄일까요? 번따를 하는 것이 죄는 아닙니다....
-
자리도 존나 가까운데 냄새 맨날 안빼고 들어와서 미치겠네 근데뭐라고 보내야하지...
-
올해정시목표. 8
시립대 환경공학부 목표수능백분위 80 97 영1 93 93 이거로합격가능한지 모르겠노
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.