刚开始还不会,找找答案,原来是动态规划的问题。
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t,high,map[101][101],i,j;
cin>>t;
while(t--)
{
cin>>high;
memset(map,0,sizeof(map));
for(i=1;i<=high;i++)
for(j=1;j<=i;j++)
cin>>map[i][j];
for(i=high-1;i>=1;--i)
for(j=1;j<=i;j++)
map[i][j]+=map[i+1][j]>map[i+1][j+1]?map[i+1][j]:map[i+1][j+1];
printf("%d\n",map[1][1]);
}
return 0;}