디지털 삼각형 문제 (oj) 동적 계획

925 단어
Problem Description n 줄 숫자 로 구 성 된 숫자 삼각형 은 다음 그림 과 같 습 니 다.삼각형 의 꼭대기 에서 바닥 까지 의 경 로 를 계산 하여 이 경 로 를 통과 하 는 숫자 를 합 쳐 최대 로 계산 하 는 알고리즘 을 시험 적 으로 설계 하 다.
주어진 n 줄 숫자 로 구 성 된 디지털 삼각형 에 대해 삼각형 의 꼭대기 에서 바닥 까지 의 경 로 를 거 친 숫자 와 최대 치 를 계산 합 니 다.
Input 입력 데이터 의 첫 번 째 줄 은 디지털 삼각형 의 줄 수 n, 1 ≤ n ≤ 100 이다.다음 n 줄 은 숫자 삼각형 각 줄 의 숫자 이다.모든 숫자 는 0... 99 사이 에 있다.
출력 데 이 터 는 하나의 정수 만 있 고 계 산 된 최대 치 를 표시 합 니 다.
Sample Input 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Sample Output 30
아래 에서 위로 코드 상층 의 점 은 두 개의 지점 만 결정 한다.a[i][j]+=max(a[i+1][j],a[i+1][j+1]);
#include
using namespace std;

int main()
{
    int a[105][105];
    int n,i,j;
    cin>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=i;j++){
            cin>>a[i][j];
        }
    }
    for(i=n-1;i>=1;i--){
        for(j=1;j<=i;j++){
            a[i][j]+=max(a[i+1][j],a[i+1][j+1]);
        }
    }
    cout<

좋은 웹페이지 즐겨찾기