1. 程式人生 > >[luogu]P1216-數字三角形

[luogu]P1216-數字三角形

題目描述

觀察下面的數字金字塔。

寫一個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。

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

在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大

輸入輸出格式

輸入格式:

第一個行包含 R(1<= R<=1000) ,表示行的數目。

後面每行為這個數字金字塔特定行包含的整數。

所有的被供應的整數是非負的且不大於100。

輸出格式:

單獨的一行,包含那個可能得到的最大的和。

輸入輸出樣例

輸入樣例
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5 
輸出樣例
30
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn=1005;


int n;int ans;
int	a[maxn][maxn];
int summax[maxn][maxn];


int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			scanf("%d",&a[i][j]);
		}
	}
	
	for(int i=1;i<=n;i++)	summax[n][i]=a[n][i];
	for(int i=n-1;i>=1;i--){
		for(int j=1;j<=i;j++){
			summax[i][j]=max(summax[i+1][j],summax[i+1][j+1])+a[i][j];
		}
	}
	
	ans=summax[1][1];
	printf("%d\n",ans);
	return 0;
} 


相關推薦

[luogu]P1216-數字三角形

題目描述觀察下面的數字金字塔。寫一個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的樣例

洛谷 P1216 [USACO1.5]數字三角形 Number Triangles

pre 一個 特定 輸入輸出 題目 最大的 窮舉法 數字金字塔 結束 題目描述 觀察下面的數字金字塔。 寫一個程序來查找從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。 7 3 8

洛谷P1216 [USACO1.5]數字三角形 Number Triangles

解題思路: 不能直接dfs,一定會超時!! 採用記憶化搜尋或者動態規劃可解決,f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1])f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1])f[i][j]

P1216 [IOI1994][USACO1.5]數字三角形 Number Triangles

gles 格式 fine 輸出格式 ini arp 輸出 二維 最大 題目描述 觀察下面的數字金字塔。 寫一個程序來查找從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。 7 3

codevs 1220 數字三角形

esc 黃金 b- dia input panel pac strong tput 1220 數字三角形 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold

洛谷P1118 [USACO06FEB]數字三角形 搜索

col 但是 數字 turn pac ostream ios i++ nbsp 洛谷P1118 [USACO06FEB]數字三角形Backward Digit Su… 搜索 這題我們發現每一個位置的加權就是 楊輝三角 yh[ n ][ i ] 然後我們就可以求 n

數字三角形-poj

ber else return int poj 一個 style 思想 space 題目要求: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5   在上面的數字三角形中尋找在上面的數字三角形中尋找一條從頂部到底邊的路徑,使得路徑上所經過的數字之和最大。路徑上的每

P1118 [USACO06FEB]數字三角形Backward Digit Su…

nat game ext when 排列 輸入輸出格式 一個 位置 dbf P1118 [USACO06FEB]數字三角形Backward Digit Su… 題目描述 FJ and his cows enjoy playing a menta

數字三角形最小路徑和—動態規劃

div 路徑和 image 動態 節點 spa 直接 .cn 一行 思路:自底向上求解,從倒數第二行開始,本行節點到最後一行的最小路徑和等於該節點的數據加上下面左右兩個數據中最小的一個。不使用額外空間,直接將最小路徑和存儲到原有的數組中。1 int minimumTota

簡單的動態規劃,數字三角形,以及做題思路。

數值 space 鏈接 分析 ios style iostream 循環 turn 鏈接 一句話題目:給出一個n層的三角形,每個位置有一個數字,到達後可獲得,求到達最低層能達到的最大數字和。 題目分析: 首先我們考慮能不能用搜索做,因為對於一個坐標,我們只有向下

動態規劃——數字三角形

-- 就是 程序 else 視頻 問題: 維數 技術 i+1 題目: (題目來源:中國大學Mooc,程序設計與算法(二)算法基礎視頻課程) 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的數字三角形中尋找一條從頂部到底邊的路徑

LintCode 109. 數字三角形

個數 str write -s integer sts inf ota body 給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。 樣例 比如,給出下列數字三角形: [ [2], [3,4], [6,5,7

數字三角形 · Triangle

什麽 數據結構 spa bsp deb 一個數 特殊情況 style 給定 [抄題]: 給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。 比如,給出下列數字三角形: [ [2], [3,4], [6,5,7],

做題記錄: P1118 [USACO06FEB]數字三角形Backward Digit Su…

clas return ring 是否 style back ble sin names P1118 [USACO06FEB]數字三角形Backward Digit Su… /*思路:設一開始的n個數為a1、a2、a3...an, 一步一步合並就可以用a1..an表示出

codevs2189數字三角形w——最優性轉化

ble ++ code mem 可行性 AI class ace ems 題目:http://codevs.cn/problem/2189/ 通過增加一維,將最優性轉化為可行性。 代碼如下: #include<iostream> #include<cst

數字三角形

數字三角形問題描述  (圖3.1-1)示出了一個數字三角形。 請編一個程序計算從頂至底的某處的一條路  徑,使該路徑所經過的數字的總和最大。  ●每一步可沿左斜線向下或右斜線向下走;  ●1<三角形行數≤100;  ●三角形中的數字為整數0,1,…99;   .  (圖3.1-1)輸入格式  文件中首先讀到的

HDU 1176(類似數字三角形的題,很經典,值得仔細理解的dp思維)

ron 接下來 開始 bre 就是 變形 style 的人 %d 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免費餡餅 Time Limit: 2000/1000 MS (Java/Others) Memo

動態規劃_數字三角形

frame names atom arr sizeof org 維數 GC top 數字三角形案例 題目描述 Description 下圖給出了一個數字三角形,請編寫一個程序,計算從頂至底的某處的一條路徑,使該路徑所經過的數字的總和最大。 (1)每一步可沿左斜線向下或右斜

P1118 [USACO06FEB]數字三角形`Backward Digit Su`…

這樣的 its ini ont eset keep color then help 題目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 11 to N(1 \

數字三角形/數塔問題(DP入門題)

cstring scan iostream 動態規劃 bubuko 規劃 pri 技術分享 輸入 有形如下圖所示的數塔,從頂部出發,在每一結點可以選擇向左走或是向右走,一起走到底層,要求找出一條路徑,使路徑上的值最大。 樣例輸入: 5 13 11 8 12 7 26 6