컴공 일기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를 선물하세요.
-
9시 수업인데 6
이제 취침??
-
기차지나간당 4
부지런행
-
사랑이 변하나요? 죽을때까지 약속아닌가요?
-
2골넣고 3골 먹히기
-
잘자 4
-
긴팔 입으니까 2
기분이 이상하넹
-
찾아보는데 존재하는지도 모르겠네요..
-
2차로 피방 갔다가 지금 집가는 내가 할말은 아닌거 같긴하네.. 난 쓰레기야
-
왜 안 자요.. 몸 상해요
-
아무도 없다 흐흐
-
흠 아무도 없나? 19
-
아 피곤하다 5
잠은 안온다. ㅎ 오늘 1교신데
-
그거 되게 맛있었는데
-
벨로드롬 0
캬
-
국어 한 등급 상승 13
현 고2 최저러입니다! 국어 고2내내 낮3-4등급(찍맞 3개 이상 기준 고정...
-
있나요 사람 안보고 몇달동안 혼자 공부하니까 자존감이 끝도 없이 바닥을 치는 중임...
-
지금 영화 한편 뚝딱하고 한능검 강의 좀 듣고 오늘 하체 하는 날인데 오늘 쉬고...
-
음 굿 10
-
문디컬 4
수능 본지 4년된 아저씨가 문디컬 도전해보려합니다. 본래 이과였고 대학도 공대아닌...
-
아니 내가 준다는데 헌혈의 집 당신들이 왜 거부하는데. 왜 혈관이 안 보이냐고
-
현재 고2고 진로가 아직 명확히 정해지지 않았습니다,,,,,ㅜ.ㅜ 아마!! 넣는다면...
-
보는거지? 할시간 없지 않나
-
햅삐
-
2019학년도 교육청 모의고사 문제르고 해서 열심히 찾아봤는데 2019학년도 3 4...
-
고2 정시 목표 2
가고싶은 과는 일단 수의학과밖에 없어서 쩔수없이 과탐을 해야할 거 같은데 국영수...
-
v=sqrt(지랄탄젠트)
-
원운동 싫어 0
포물선으로 돌아갈래
-
내신공부를 해야하나요? 아니면 모고/수능을 해야하나요?
-
m이 아니라 ml입니다!
-
수능중독인듯 5
수능수학이랑 국어만 보면 너무 재밌음 정복하고싶음 이런 전국단위 싸움이 너무 재밌음
-
지구과학 질문 2
이거 ㄷ이 맞는 이유가 뭔가요?
-
으으 0
-
안정 3목표고 3~4정도 뜹니다. 옛날에 션티 강의 듣고 도움많이 되긴했는데 요즘은...
-
대강 틀은 잡고 검토하는데 g(1) 최대 나오는 그래프개형을 직감으로밖에 찾지를...
-
이해원 s2기준 한회차 평균 2개 틀림
-
9덮 수학 0
확통 76이면 보정 몇인가요? 131415 4로 밀었는데 두개 맞아서 사실상 68..
-
행복하세요 8
-
이해원보다 어려운거 같은데..반타작 나는데 유기해야 되나
-
시그모 개맛있다 2
아껴둔 보람이 있어 실모를 너무 많이 풀어서 그런가 밋밋함도 없지 않긴 한데 그래도 좋아
-
내 세상이 무너졌어
-
걔네도 n수하면 잘해짐
-
수원대 논술 7
수원대 수리논술 할만한가요 경쟁률 9:1이고 수학3고정 국어4고정으로 뜨는데
-
수학실모 0
수학3에서 1되고싶은데 1일1실모해야하나요
-
https://orbi.kr/00057251262/%EC%98%AC%ED%95%B4%...
-
그땐 지구 개꿀이었는데
-
나를 위로하던 누군가의 음악도 뚝딱나온것이 아님을 깨닫고
-
다인자랑 비분리 둘 중에 하나만 버린다면 뭘 버려야할까요? 지금 수능 기조가 어느...
-
국어 고민 7
아수라 총정리과제나 몇몇 사설들 푸는 중인데 국어 실력이 일정하지가 않은 느낌?...
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.