컴공 일기248
게시글 주소: https://iu.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를 선물하세요.
-
여기 쓰인 거 말구
-
얼버깃 9
-
막전위 쫙 모여져있고 근수축끼리 모아져있고 가계도끼리 있는...
-
퍄퍄 0
감기 몸살 + 비 쏟아짐 + 내일 시험 + 월화 아파서 학원 제대로 못감 + 오늘은...
-
그냥 무단 조퇴하려는ㄷ쌤한테 머라 말씀 드려야할까요??
-
내일 이퀄인지 뭔지 12
보기싱ㅎ다
-
수학 도형의 방정식+함수(30문제) 영어 Syntax 내용 정리 국어 개념의...
-
차은우 등장 2
반갑습니다
-
아마 시행이 확정되는 방안으로 가면 이런 반응들 꽤 나올 듯...
-
제목은 휴일로 하겠습니다 근데 이제 최강록을 곁들인
-
오늘 단과도 가야하는데 좋지않구만
-
개피곤하네 2
-
국어 - 2021년 6월 고2 모의고사 (풀타임) - 올오카 4강 마저 듣기 -...
-
강기분 복습법 2
강기분 강의 다 듣고 다시 풀어보면서 강의 2배속으로 2회독 하는 중인데...
-
얼버잠 0
잔다
-
얼버기 3
ㅎㅇ
-
좋아! 9
좋은 아침
-
여러분 안녕 6
좋은아침
-
히히 5
히히히 히히
-
얼버기 1
12시 수면 4시 30 기상
-
속보) 신창섭 - 다 해줬잖아(feat. 전재학) MV 조회수 594만 3
600만 드가자 ㅋㅋㅋㅋㅋ
-
너기출 푸는 중인데 이거 머죠..애매하게 거의 찍어서 맞췄는데 요즘 교육과정에 맞나요?
-
개설레네
-
부모님 몰래 무휴학반수 하고있는데요 곧 수능원서 접수철이라 제가 다니는...
-
재밌다
-
내신 비문학 4
내신 비문학은 인강돌려보면서 글 관련 정보 다 외우면 2~3등급은 뜨나?...
-
수특 풀다가 문제가 딱봐도 내신같고 ㅈ같이 낸거 보면 꼭 지방사립대학 졸업한 사람이 껴있더라
-
번개가 반짝반짝 1
-
진짜 숨이 턱턱 막힌다 지금 내 상황이랑 너무 동떨어져있음.. Ptsd
-
뉴런 끝냈습니다! 6모 82점입니다... 드릴, 이해원, n티켓, 4규, 지인선...
-
영어 노베 질문 3
지금 고3 3모 7등급 나오는 완전 노베입니다 수능 4등급이 목표인데 지금...
-
갠적으로 과학탐구공부 이게 젤 효율적인거 같은데 어떤가요? 1
개념>기출>기출풀이 최적화(풀이법 정립)>n제(경험쌓기&시간단축)>실모(시간관리)...
-
오야스미 3
네루!
-
화이팅팅후루후루후루
-
몬스터 맛평가 8
연핑크 핑크 = 망고 흰색 검정(제로) 노랑 검정(오리지날) Oz 초록 순으로 맛도리임 반박 받음.
-
잠 잠이 최고야
-
진짜 어느정도녀면 교육청 모고볼때도 벌벌거리고 학원에서 사설모고 볼ㄸㅐ도 벌벌 떰 특히 국어에서….
-
번개뭐지 1
음..
-
담배추천좀 32
ㅈㄱㄴ 맛있으면 미리 안가림
-
사실 피안도 안보긴 하지만 꺼무 실검에 떠서 근황 봤는데 존나 어이가 없네
-
비가 무섭게 와
-
비 엄청 오네 번개 치고.. 괜히 기사님한테 미안해지농 ㅋㅋ
-
영어 실모 4
영어 실모 그냥 정식이형꺼 더데유데만 풀어도 되려나...? 아무리 못해도 안전빵2는...
-
화학 질문 0
녹는점이랑 어는점이 같은데 같은 온도에서 고체에서 액체가 되기도 하고 액체에서...
-
정시하는 애들 차별도 없고 꾀병조퇴인거 다 알면서 받아주시고 원하는 사람은 현체써서...
-
주간 오해원 3
오해원 사랑해
-
저도 한 홍대병이자 힙스터호소인이긴한데 힙스터 말기 분들은 대표곡을 최애로 뽑으면...
-
그냥 이제는 조금만 더 버티면 된다 이생각을 하면서 이상한 꼬리에 꼬리를 무는...
-
상식적으로 5배속까진 있어야 한다고 본다
-
인강민철 다 풀렀는데 매일 꾸준히 풀만한 n제 있을까요???
첫번째 댓글의 주인공이 되어보세요.