状态:设 dp[i][j] 为进入房间 (i,j) 时已获得的最大价值。
转移(在网格内 1≤i,j≤n):
初值:dp[1][1]=0(进入起点未拿任何宝藏)。
有一座巨大的官殿,可以被视为由n行n列房间组成,从上到下分别为第1,2,...n行,从左到右分别为第1,2,...n列。第i行第j列房间内有价值为ai,j的宝藏。
每个房间都有一扇通往下一行同一列的常开的门,即从第i行第j列房间能移动到第i+1行第j列房间,但是 如果选择带走房间内的宝藏,则该侧门会关闭。特别地,第n行的所有房间的通往下一行同一列的门都通往 宫殿外。
除此之外,每个房间都有通往同一行下一列的门,即第i行第j列房间有一扇通往第i行第j+1列房间的门, 该门不常开,但是如果选择带走房间内的宝藏,则该侧门会打开。特别地,第n列的所有房间的通往同一行 下一列房间的门都通往宫殿外。
小钟从第一行第一列房间出发,他想知道在离开宫殿前他最多能够带走多少价值的宝藏。请你帮忙计算答案。
输入包括多组测试数据。
输入第一行包括一个正整数T(1<=T<=10),表示测试数据的组数。
每组测试数据的第一行有一个整数n(1<=n<=500),表示宫殿由n行n列房间组成;
接下来的n行第i行有n个整数ai,1,ai,2,...,ai,n(0<=ai,j<=105),依次表示第i行第1,2,....n列房间内宝藏的价值大小。
保证每个测试点的所有测试数据的n2的和不超过2.5∗105
对于每组测试数据,输出一个正整数表示小钟离开宫殿前最多能够带走多少价值的宝藏。
输入
2
3
1 2 3
4 5 6
7 8 9
2
0 5
3 1
输出
24
5
说明
对于第一组测试数据,小钟的移动轨迹可以是这样的:(1,1)→(2,1)→(3,1)→(3,2)→(3,3)→官殿外,分别在(3,1),(3,2),(3,3)处带走宝藏,总价值大小为7+8+9=24
对于第二组测试数据,小钟的移动轨迹可以是这样的:(1,1)→(1,2)→宫殿外,分别在(1,1),(1,2)处带走宝藏,总价值大小为0+5=5