众所周知,变色龙是蜥蜴的一种。
很久很久以前,变色龙小S生活在一片平和的n*m网格中。每个格子中都有一个颜色,小S可以变成和格子一样的颜色。如果小S从一个格子跳到另一个格子,且格子颜色不同,小S可以变成新的格子颜色,当然也可以不变,只不过有点危险。
由于一直变颜色太累了,小S希望能找到一片颜色相同的格子区域,它就一直在这片区域活动就可以了。现在它希望知道,哪一片区域的曼哈顿距离之和最大。
我们定义(x1,y1)(x2,y2)两点间的曼哈顿距离为:|x2-x1|+|y2-y1|
一片同色区域的曼哈顿距离之和为:所有颜色相同的格子之间的曼哈顿距离两两之和。
【输入样例2】
4 4
1 3 2 4
2 1 2 3
1 3 3 2
3 2 1 4
【输出样例2】
56
【样例解释】
在第一个示例中,不同的颜色值为1和2。
-
对于颜色
1:
-
颜色为1的坐标为(1,1)和(1,2)。
-
(1,1)和(1,1)之间的曼哈顿距离为∣1−1∣+∣1−1∣=0。
-
(1,1)和(1,2)之间的曼哈顿距离为∣1−1∣+∣1−2∣=1。
-
(1,2)和(1,1)之间的曼哈顿距离为∣1−1∣+∣2−1∣=1。
-
(1,2)和(1,2)之间的曼哈顿距离为∣1−1∣+∣2−2∣=0。
-
对于颜色
2:
-
颜色为2的坐标为(2,1)和(2,2)。
-
(2,1)和(2,1)之间的曼哈顿距离为∣2−2∣+∣1−1∣=0。
-
(2,1)和(2,2)之间的曼哈顿距离为∣2−2∣+∣1−2∣=1。
-
(2,2)和(2,1)之间的曼哈顿距离为∣2−2∣+∣2−1∣=1。
-
(2,2)和(2,2)之间的曼哈顿距离为∣2−2∣+∣2−2∣=0。
可以选1号或者2号,得到最大曼哈顿距离和为2
在第二个示例中,可以选择2号颜色,2号颜色共有5个点(1,3)(2,1)(2,3)(3,4)(4,2)。计算可得:
(|1-2|+|3-1| + |1-2|+|3-3| + |1-3|+|3-4| + |1-4|+|3-2| ) * 2 = 22
(|2-2|+|1-3| + |2-3|+|1-4| + |2-4|+|1-2|) * 2 = 18
(|2-3|+|3-4| + |2-4|+|3-2|) * 2 = 10
(|3-4|+|4-2|) * 2 = 6
曼哈顿距离之和为22+18+10+6=56,可知这已经是最大的距离。
【数据范围】
对于100%的数据,1<=n,m<=1000,1<=c[i,j]<=n*m
Subtask 1(20):1<=n,m<=100
Subtask 2(10):c[i,j]=1
Subtask 3(20):c[i,j]<=2
Subtask 4(50):无限制