https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
- 접근 방법, 논리 흐름(알고리즘)
우선 점차적으로 내려갈 수 있는 경우의 수를 생각해 보았고, 각 점마다 최댓값을 저장하기에 전 칸을 더하여 저장하는 dp로 풀 수 있다고 생각했다.
문제를 보고 그림을 그려보고 가능한 길을 모두 그려본 결과 다음과 같은 패턴을 발견할 수 있었다.
가장 왼쪽과 가장 오른쪽 즉 삼각형의 변에 해당하는 끝 점들은 올라가는 경우의 수가 바로 위점 하나이다.
반면 끝 점들이 아닌 중간 점들의 경우 왼쪽과 오른쪽으로 올라 가는 경우가 있는데, 최댓값을 구하는 것이니 당연히 두 점 중 더 큰 값으로 올라가는것이 답이 된다.
- 풀이 코드
'백준 문제풀이' 카테고리의 다른 글
[백준(BOJ)/C++] 2178번: 미로 탐색 - 코딩밥상 (0) | 2022.08.24 |
---|---|
[백준(BOJ)/C++] 1260번: DFS와 BFS - 코딩밥상 (0) | 2022.08.24 |
[백준(BOJ)/C++] 10211번: Maximum Subarray - 코딩밥상 (0) | 2022.08.15 |
[백준(BOJ)/C++] 11726번: 2xn 타일링 - 코딩밥상 (0) | 2022.08.15 |
[백준(BOJ)/C++] 18111번: 마인크래프트 - 코딩밥상 (0) | 2022.08.09 |