T556603 网格

题目描述

有一个 $n$ 行 $m$ 列的网格,第 $i$ 行 $j$ 列上有一个数字 $g_{i,j}$。 每个格子和上下左右的四个格子相邻,你可以选择四个方向中选择互相垂直的两个,并尝试建立联系。 如果两个相邻的位置 $(a,b)$,$(c,d)$ 互相位于对方选择的某个方向上,则对答案有 $w(g(a,b) $ $xor$ $g(c,d))$ 的贡献,其中 $xor$ 表示二进制中的按位异或。 $w(x)=x+popcnt(x) $,其中 $popcnt(x)$ 表示 $x$ 的二进制位中 $1$ 的位的数量。 求答案的最大值是多少。

输入格式

第一行,输入 $n$,$m$ 。 接下来 $n$ 行 $m$ 列,输入这个网格。

输出格式

输出答案的最大值。

说明/提示

对于 $100\%$ 的数据,$1 \le n,m \le 1000,0 \le g_{i,j}