반응형
//이동할때 오른쪽, 아래쪽, 오른쪽 아래 대각선 3가지 방법으로 이동할 수 있다.
//(i,j)로 이동할 때 최대값을 D[i][j]라 하면
//D[i][j] = max(D[i-1][j],D[i][j-1],D[i-1][j-1])+A[i][j]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> #include <algorithm> using namespace std; int D[1001][1001], A[1001][1001]; int main() { int N, M; cin >> N >> M; for (int i = 1; i <= N; i++) for (int j = 1; j <= M; j++) cin >> A[i][j]; for (int i = 1; i <= N; i++) for (int j = 1; j <= M; j++) D[i][j]=max(D[i - 1][j], max(D[i][j - 1], D[i - 1][j - 1])) + A[i][j]; cout << D[N][M]; } | cs |
'Algorithm' 카테고리의 다른 글
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11057번:오르막 수 답 (0) | 2017.02.02 |
---|---|
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 9461번:파도반 수열 답 (0) | 2017.02.01 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2156번:포도주 시식 답 (0) | 2017.01.29 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11722번:가장 긴 감소하는 부분 수열 답 (0) | 2017.01.29 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 9465번:스티커 답 (0) | 2017.01.27 |