AT_abc407_d.[ABC407D] Domino Covering XOR

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个网格,网格中有 HH 行和 WW 列。令 (i,j)\left(i,j\right) 表示从顶部 (1≤i≤H)\left(1\leq i\leq H\right) 起第 ii 行的单元格,从左侧 (1≤j≤W)\left(1\leq j\leq W\right) 起第 jj 列的单元格。

单元格 (i,j)(1≤i≤H,1≤j≤W)\left(i,j\right)\quad \left(1\leq i\leq H,1\leq j\leq W\right) 上写有一个非负整数 Ai,jA_{i,j} 。

让我们在网格上放置零块或更多块多米诺骨牌。一块多米诺骨牌覆盖两个相邻的单元格,即以下两对中的一对:

  • 单元格 (i,j)\left(i,j\right) 和 (i,j+1)\left(i,j+1\right),其中 1≤i≤H,1≤j<W1\leq i\leq H,1\leq j\lt W;
  • 单元格 (i,j)\left(i,j\right) 和 (i+1,j)\left(i+1,j\right),其中 1≤i<H,1≤j≤W1\leq i\lt H,1\leq j\leq W。

任何一个单元格都不能被一块以上的多米诺骨牌覆盖。

对于多米诺骨牌的摆放,其分数定义为写在未被任何骨牌覆盖的单元格中的所有整数的位 XOR。

找出可能的最大得分。

:::info[什么是位 XOR?]

对于非负整数 AA 和 BB,它们的位向 XOR A⊕BA \oplus B 定义如下:

  • 在二进制中,如果 AA 和 BB 中正好有一个位有 11,则 A⊕BA \oplus B 的 2k2^k 位(k≥0k \ge 0)为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(二进制为 011⊕101=110011 \oplus 101 = 110 )。
对于 kk 个非负整数 p1,p2,p3,…,pkp_1, p_2, p_3, \dots, p_k ,它们的位 XOR 为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk)\left(\dots \left(\left(p_1 \oplus p_2\right) \oplus p_3\right) \oplus \dots \oplus p_k\right) ,可以证明这与操作数的顺序无关。

:::

输入格式

输入内容由标准输入提供,格式如下

HH WW
A1,1A _ {1,1} A1,2A _ {1,2} …\ldots A1,WA _ {1,W}
A2,1A _ {2,1} A2,2A _ {2,2} …\ldots A2,WA _ {2,W}
⋮\vdots
AH,1A _ {H,1} AH,2A _ {H,2} …\ldots AH,WA _ {H,W}

输出格式

输出答案。

输入输出样例

  • 输入#1

    3 4
    1 2 3 8
    4 0 7 10
    5 2 4 2

    输出#1

    15
  • 输入#2

    1 11
    1 2 4 8 16 32 64 128 256 512 1024

    输出#2

    2047
  • 输入#3

    4 5
    74832 16944 58683 32965 97236
    52995 43262 51959 40883 58715
    13846 24919 65627 11492 63264
    29966 98452 75577 40415 77202

    输出#3

    131067

说明/提示

  • 1≤H1 \le H
  • 1≤W1 \le W
  • HW≤20HW \le 20
  • 0≤Ai,j<260(1≤i≤H, 1≤j≤W)0 \le A_{i,j} \lt 2^{60}\quad \left(1 \le i \le H,\ 1 \le j \le W\right)
  • 所有输入值均为整数。

输入解题思路,AI测评打分。不知道怎么写?

首页