AT_abc407_d [ABC407D] Domino Covering XOR
题目描述
有一个网格,网格中有 $H$ 行和 $W$ 列。令 $\left(i,j\right)$ 表示从顶部 $\left(1\leq i\leq H\right)$ 起第 $i$ 行的单元格,从左侧 $\left(1\leq j\leq W\right)$ 起第 $j$ 列的单元格。
单元格 $\left(i,j\right)\quad \left(1\leq i\leq H,1\leq j\leq W\right)$ 上写有一个非负整数 $A_{i,j}$ 。
让我们在网格上放置零块或更多块多米诺骨牌。一块多米诺骨牌覆盖两个相邻的单元格,即以下两对中的一对:
- 单元格 $\left(i,j\right)$ 和 $\left(i,j+1\right)$,其中 $1\leq i\leq H,1\leq j\lt W$;
- 单元格 $\left(i,j\right)$ 和 $\left(i+1,j\right)$,其中 $1\leq i\lt H,1\leq j\leq W$。
任何一个单元格都不能被一块以上的多米诺骨牌覆盖。
对于多米诺骨牌的摆放,其**分数**定义为写在**未**被任何骨牌覆盖的单元格中的所有整数的位 XOR。
找出可能的最大得分。
:::info[什么是位 XOR?]
对于非负整数 $A$ 和 $B$,它们的位向 XOR $A \oplus B$ 定义如下:
- 在二进制中,如果 $A$ 和 $B$ 中正好有一个位有 $1$,则 $A \oplus B$ 的 $2^k$ 位($k \ge 0$)为 $1$,否则为 $0$。
例如,$3 \oplus 5 = 6$(二进制为 $011 \oplus 101 = 110$ )。
对于 $k$ 个非负整数 $p_1, p_2, p_3, \dots, p_k$ ,它们的位 XOR 为 $\left(\dots \left(\left(p_1 \oplus p_2\right) \oplus p_3\right) \oplus \dots \oplus p_k\right)$ ,可以证明这与操作数的顺序无关。
:::
输入格式
输入内容由标准输入提供,格式如下
> $H$ $W$
> $A _ {1,1}$ $A _ {1,2}$ $\ldots$ $A _ {1,W}$
> $A _ {2,1}$ $A _ {2,2}$ $\ldots$ $A _ {2,W}$
> $\vdots$
> $A _ {H,1}$ $A _ {H,2}$ $\ldots$ $A _ {H,W}$
输出格式
输出答案。
说明/提示
- $1 \le H$
- $1 \le W$
- $HW \le 20$
- $0 \le A_{i,j} \lt 2^{60}\quad \left(1 \le i \le H,\ 1 \le j \le W\right)$
- 所有输入值均为整数。