#CF4115. 湖

题目描述

你被给定一个 n×mn×m 的非负整数网格 aa。值 ai,ja_{i,j} 表示第 ii 行和第 jj 列的水深。

一个湖是一组满足以下条件的单元格:

  • 组中的每个单元格都有 ai,j>0a_{i,j}>0,且
  • 组中的任意两个单元格之间存在路径,沿着上下左右的方向走若干步,且不经过 ai,j=0a_{i,j}=0 的单元格。

湖的体积是组中所有单元格的深度之和。

找到网格中最大湖的体积。

输入格式

第一行包含一个整数 t(1t104)t(1≤t≤10^4)——测试用例的数量。

每个测试用例的第一行包含两个整数 nnm(1n,m1000)m(1≤n,m≤1000) ——网格的行数和列数。

然后是 nn 行,每行包含 mm 个整数 ai,j(0ai,j1000)a_{i,j}(0≤a_{i,j}≤1000) ——每个单元格的水深。

保证所有测试用例中 n×mn×m 的总和不超过 10610^6

输出格式

对于每个测试用例,输出一个整数——网格中最大湖的体积。

测试样例

5
3 3
1 2 0
3 4 0
0 0 5
1 1
0
3 3
0 1 1
1 0 1
1 1 1
5 5
1 1 1 1 1
1 0 0 0 1
1 0 5 0 1
1 0 0 0 1
1 1 1 1 1
5 5
1 1 1 1 1
1 0 0 0 1
1 1 4 0 1
1 0 0 0 1
1 1 1 1 1
10
0
7
16
21

样例说明

样例1有两个湖,大小分别位 101055

样例3只有一个大小为 77 的湖。