杭电2048
题目
AC代码
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int map[110][110];
int main()
{
int n;
cin>>n;
while(n--)
{
int height;
cin>>height;
memset(map,0,sizeof(map));
for(int row=0;row<height;row++)
{
for(int line=0;line<=row;line++)
{
cin>>map[row][line];
}
}
for(int i=height-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
map[i][j]=max(map[i+1][j],map[i+1][j+1])+map[i][j];
}
cout<<map[0][0]<<endl;
}
return 0;
}
解题思路
数塔问题就是一个套路,从下面往上面求就行了