单点时限: 4.0 sec
内存限制: 256 MB
给一个 N×N 的矩阵 M,可以取连续的一段数(必须是横着或者竖着或者斜着,这个矩阵是循环的,具体如下)。要求找到一个子序列,使得这个序列的和最大。
对于 N=8 的矩阵,如下序列都是合法的:
一个元素不可取多次,取的必须是连续的一段。
可以什么都不取(即答案为 0)。
第一行一个数 T (T≤30),表示数据组数。
每一组数据第一行为一个正整数 N (1≤N≤1000)。
接下来 N 行每行 N 个数表示这个矩阵。(每个元素大小在 −32768 到 32767 之间)
每组数据一行表示最大的序列和。
1 4 8 6 6 1 -3 4 0 5 4 2 1 9 1 -9 9 -2
24
样例解释:选取序列 M3,4,M4,3,M1,2。