zoukankan      html  css  js  c++  java
  • 数字三角形

    描述

    7
    3 8
    8 1 0
    2 7 4 4
    4 5 2 6 5
    (Figure 1)

    Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed 
    on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally 
    down to the left or diagonally down to the right.
    给出一个数字三角形,你从[1,1]开始出发,走到最后一行。每次站在一个点上时,可以向下走,或者向右下走。
    将经过的数字加起来,希望其和最大。

    输入

    The first line contains one integer N: the number of rows in the triangle. 
    The following N lines describe the data of the triangle. 
    The number of rows in the triangle is > 1 but <= 100. 
    The numbers in the triangle, all integers, are between 0 and 99.

    输出

    Your program is to write to standard output. The highest sum is written as an integer.

    样例

    输入

    5
    7
    3 8
    8 1 0
    2 7 4 4
    4 5 2 6 5

    输出

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int a[1001][1001],n,f[10001][1001],ans=-1;
     4 int main() {
     5     scanf("%d",&n);
     6     for(int i=1; i<=n; i++)
     7         for(int j=1; j<=i; j++)
     8             scanf("%d",&a[i][j]);
     9     memset(f,-1,sizeof(f));
    10     f[1][1]=a[1][1];
    11     for(int i=2; i<=n; i++)
    12         for(int j=1; j<=i; j++)
    13             f[i][j]=max(f[i-1][j-1],f[i-1][j])+a[i][j];
    14     for(int i=1; i<=n; i++)
    15         ans=max(ans,f[n][i]);
    16     printf("%d
    ",ans);
    17     return 0;
    18 }
    30

  • 相关阅读:
    (转 )Unity对Lua的编辑器拓展
    unity timeline
    unity拖尾粒子问题
    unity shader 波动圈
    linux教程
    Unity Shader 基础
    ugui拖拽
    unity shader 热扭曲 (屏幕后处理)
    英文取名神器
    lua正则表达式替换字符串
  • 原文地址:https://www.cnblogs.com/sbwll/p/13380950.html
Copyright © 2011-2022 走看看