컴공 일기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를 선물하세요.
-
무슨 내가 15번 풀고 넘어갈시간에 30번을 풀고있어 시팔 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-
되게 쉽게 뭔가를 해냈다고 생각이 든다면 그건 생각보다 무가치한것일 가능성이...
-
여긴 어디 난 누구
-
시놉시스가 3
좀 쉬운편인가??
-
사실92점만떠도행복사
-
오늘 공부 끝 11
집중 뒤지게 안된다!
-
오늘 저녁 ㅇㅈ 5
. (꼬르륵...)
-
시의적절하네요 7
-
오늘 저녁 ㅇㅈ 4
유부초밥 밥 없이 유부만 먹기
-
유독 가나에 사회나 과학 지문 있는 실모가 많네
-
좀 꺼리는 실모 중 하나였는데 최근 회차는 또 괜찮네 … 챙겨 풀어야겠다
-
고2 정시 수학 7
고2 정시로 돌리려하는데 수학은 노베여서 고등수학 쎈은 풀정도 실력이되어야 수1 수2 할수있는거?
-
지구 실모 점수 3
OZ 시즌4 1회 26 2회 50 오늘 이상한 날 인가봄
-
그거 뭐였지 4
뭐였더라
-
PPT 디자인 외주 잠깐 했었는데 일주일동안 하루에 잠깐씩 하고 30 꽂힌 적...
-
강기분 이 10할 것 이 무거운걸 학원에 어떻게 들고가요
-
쌍사 비상사태 0
불러 박자박사
-
오르비에는 호두와 효녀가 있다
-
비기독교인들은 어떻게 생각하실지 궁금하네요 저는 기독교인이고요 서울은 못가고...
-
어떤가요? 굳이 싶나…? 아마 풀면 쎈 풀지 않을까 싶네요 시발점 확통 뒤에도...
-
01~04들어와봐요 16
추천글로좀 올려보게
-
어떤가요? 굳이 싶나…? 아마 풀면 쎈 풀지 않을까 싶네요 시발점 확통 뒤에도...
-
https://youtu.be/9biTzIaBhaQ?si=pL_mCr7CW7JL6tM...
-
현장풀이 이 날 저 22번 풀고 싶어서 확통이랑 공통 4점 버리고 저 문제만 30분 쓰고 맞춤
-
강대x 내일 모레 쯤에 다 풀 거 같은데 뭐 먼저 시켜서 풀까요? 시간 괜찮을 거...
-
탈출하지도 못하겠고 뜨긴 아쉽고.. 차라리 아예 못했으면 신포도 짓 할거 같은데
-
수학 2개 틀렸다는 새끼 놀리니까 부들부들대노 ㅋㅋ 1
그게 접니다 ㅅㅂ 아니 2개 틀려서 1등급 문 닫을줄 알았는데 2등급 문...
-
영혼의꽃이랑 도자기는 취급안함
-
실모풀때마다 생각나네
-
인강이어도 되고 현강이어도 됩니다. 혹시 계시다면 댓글 달아주세요ㅠㅠ
-
독서 한 문단 읽고 문제 풀고 이 한 문단으로 안 풀릴 거 같다 하면 세모치고 다음...
-
진지하게 사탐은 1
18일도 많이 남아보이는데 내가 이상한건가 ㅋㅋ 개념, 기출 복습하고 실모...
-
쇼메이커는 이제 다시는 월즈 4강 이상 못 감 요네 개 못하다고 평가 받던 대표적인...
-
근데 아직 모름 4
이제 겨우 한판이겻을뿐
-
학원 옆에 우체국이 있어서 낼 바로 보낼수 있습니다 .
-
모기 조금 놀아줬음
-
진짜 금욜에만 배송와요? 저번주 수욜엔가 시켰는데 그럼 ㄹㅇ 수능 전날까지 풀어야될거같은데...
-
성균관대 논술 관련이면 좋겠어요. 제가 성대에 세 번 붙었기 때문에! (2019...
-
ㄷㄷㄷ
-
수학 고민 0
지금 수학 마더텅 별2개짜리만 풀고 있는데(1/3풀음) 마더텅을 그냥 계속 푸는 게...
-
그냥 노트인가요??? 아니면 다른 뭔가 있나요???
-
큰일은 역시 6
현역이..유퀴즈와 미3누 채널에서 뵙겠습니다
-
1시 전엔 끝나려나 이거 ㅈㅔ발 3대0 내줘라 진ㅁ자 ㅜㅜ
-
생윤사문 1 1
선택과 집중이 필요한 이시기에 생윤 잘잘잘 회독+킬러 단원 잘잘잘 n제 평가원...
-
굿
-
면접 준비도 안 빡세고 최저는 계속 나와서 그런가 오늘 피시방 가서 이터널리턴 4시간 하다 옴
-
여전히 운영은 잘하는데 초반에 밀리는 것도 그렇고 한타할 때마다 순간적인 판단이...
-
수2 질문 9
(가)조건을 이용하면,g(x)=x(x+3)/f(x), (나)조건에서 (가)조건을...
-
장곡리 고욤나무 0
고욤나무가 의미하는게ㅜ뭐임
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.