//一维的存储变量就够了
//为什么呢?因为你看yxc的代码其实他本来就是从上到下更新的,上面的不需要下面的结果,下面的也只需要上面的一行,而不需要上面第二行第三行的代码.
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
int R[105];
int V[105][105];
int c, l;
int main()
{
int T;
cin >> T;
while (T–)
{
memset(V, 0, sizeof V);
memset(R, 0, sizeof R);
cin >> c >> l;
for (int i = 0; i < c; i)
for (int j = 0; j < l; j)
cin >> V[i][j];
R[0] = V[0][0];
for (int i = 1; i < l; i)
R[i] = V[0][i] + R[i - 1];
for (int i = 1; i < c; i)
{
R[0] = R[0] + V[i][0];
for (int j = 1; j < l; j++)
R[j] = max(R[j] + V[i][j], R[j - 1] + V[i][j]);
}
cout << R[l - 1] << endl;
}
return 0;
}