數字三角形必須經過某乙個點,使之走的路程和最大
從必須經過的點,向上向下分別dp兩次的和即為答案。
還有一種思路是把和必須經過點同一行的設為-inf,這樣就一定(大概)不會選擇它們了。
//writer:ghostcai && his yellow duck
#include
#include
using
namespace
std;
const
int maxn=26;
int n,ans1,ans2;
int a[maxn][maxn];
int x,y;
int f[maxn][maxn];
int main()
}f[1][1]=a[1][1];
for(int i=2;i<=y;i++)
}ans1=f[x][y];
memset(f,0,sizeof(f));
for(int i=1;i<=n;i++) f[n][i]=a[n][i];
for(int i=n-1;i>=y;i--)
}ans2=f[x][y];
cout
<}
CODEVS 2193 數字三角形WW
數字三角形必須經過某乙個點,使之走的路程和最大從必須經過的點,向上向下分別dp兩次的和即為答案。還有一種思路是把和必須經過點同一行的設為 inf,這樣就一定 大概 不會選擇它們了。writer ghostcai his yellow duck include include using namesp...
codevs 天梯 數字三角形
如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。分析 很明顯dp,從下往上依次取最優解即可 const maxn 200 varf array 0.maxn,0.maxn of longint n longint procedu...
Codevs 1220 數字三角形
codevs 1220 數字三角形 呃。大意是下面幾層的每乙個結點都可由上一層的左右兩個結點走來 大概就是 i,j 可由 i 1,j 1 或 i 1,j 而來 所以。a i,j max a i 1,j 1 a i 1 j x a i,j 表示走到第a i,j 的最大值,x表示讀入資料中第 i,j 位...