#P17510. 中秋灯会

中秋灯会

题目描述

中秋节到了,小洛和同学们在广场上布置了一个灯笼方阵,共有 HH 行、WW 列,每个位置都挂着一盏灯笼。

灯笼共有三种颜色,分别用整数 1,2,31,2,3 表示。第 ii 行第 jj 列的灯笼颜色为 ai,ja_{i,j}。

如果两盏灯笼在同一行中左右相邻,或者在同一列中上下相邻,并且颜色相同,就称它们为一对“同色灯”。每一对只统计一次。一盏灯笼可以与多盏相邻灯笼分别组成同色灯对。

小洛希望同色灯对尽可能多。她可以从方阵中选择至多一盏灯笼,将它换成另外两种颜色中的一种,也可以不更换任何灯笼。

请你求出,更换后最多可以有多少对同色灯。

输入格式

第一行输入两个整数 H,WH,W,表示灯笼方阵的行数和列数。

接下来 HH 行,每行输入 WW 个整数。其中第 ii 行第 jj 个整数 ai,ja_{i,j} 表示对应位置灯笼的颜色。

输出格式

输出一个整数,表示最多可以得到的同色灯对数。

样例 #1

样例输入 #1

3 3
1 1 2
1 2 1
3 1 3

样例输出 #1

6

样例 #2

样例输入 #2

2 3
1 1 1
1 1 1

样例输出 #2

7

提示

样例解释 1

将第 22 行第 22 列的灯笼由颜色 22 换成颜色 11,方阵变为:

1 1 2
1 1 1
3 1 3

此时:

  • 左右相邻的同色灯有 33 对;
  • 上下相邻的同色灯有 33 对。 共计 66 对,可以证明这是最大值。

样例解释 2

不更换灯笼即可。

两行各有 22 对左右相邻的同色灯,三列各有 11 对上下相邻的同色灯,共 2+2+3=72+2+3=7 对。

数据范围

本题共有 2020 个测试点。

  • 对于测试点 1∼41\sim 4,所有的灯笼的颜色都是 11;
  • 对于测试点 5∼125\sim 12,所有的灯笼的颜色不是 11 就是 22;
  • 对于所有测试点,1≤H,W≤301\le H,W\le30,1≤ai,j≤31\le a_{i,j}\le3。