#ABC271F. 网格路径上的异或

网格路径上的异或

网格路径上的异或

题目描述

有一个 NNNN 列的网格。用 (i,j)(i, j) 表示从上数第 ii(1iN)(1 \leq i \leq N)、从左数第 jj(1jN)(1 \leq j \leq N) 的方格。

方格 (i,j)(i, j) 上写着一个非负整数 ai,ja_{i, j}

当你在方格 (i,j)(i, j) 时,可以移动到方格 (i+1,j)(i+1, j)(i,j+1)(i, j+1)。这里,你不能走到网格外。

求从方格 (1,1)(1, 1) 走到方格 (N,N)(N, N) 的路径中,经过的方格(包括 (1,1)(1, 1)(N,N)(N, N))上整数的异或和为 00 的路径条数。

什么是异或? 两个整数 aabb 的异或 aba \oplus b 定义如下。

aba \oplus b 的二进制表示中,第 2k2^k 位 (k0k \geq 0):当 aabb 的二进制表示的第 2k2^k 位中恰好有一个为 11 时为 11,否则为 00

例如,35=63 \oplus 5 = 6(用二进制表示:011101=110011 \oplus 101 = 110)。

一般地,kk 个整数 p1,,pkp_1, \dots, p_k 的异或被定义为 $(\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k)$。可以证明它与 p1,,pkp_1, \dots, p_k 的顺序无关。

输入格式

输入按以下格式从标准输入给出:

NN
a1,1a_{1, 1} \ldots a1,Na_{1, N}
\vdots
aN,1a_{N, 1} \ldots aN,Na_{N, N}

输出格式

输出答案。

样例

3
1 5 2
7 0 5
4 2 3
2

以下两条路径满足条件:

$(1, 1) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (2, 3) \rightarrow (3, 3)$;

$(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (2, 3) \rightarrow (3, 3)$。

2
1 2
2 1
0
10
1 0 1 0 0 1 0 0 0 1
0 0 0 1 0 1 0 1 1 0
1 0 0 0 1 0 1 0 0 0
0 1 0 0 0 1 1 0 0 1
0 0 1 1 0 1 1 0 1 0
1 0 0 0 1 0 0 1 1 0
1 1 1 0 0 0 1 1 0 0
0 1 1 0 0 1 1 0 1 0
1 0 1 1 0 0 0 0 0 0
1 0 1 1 0 0 1 1 1 0
24307

数据范围

  • 2N202 \leq N \leq 20
  • 0ai,j<230(1i,jN)0 \leq a_{i, j} \lt 2^{30} \, (1 \leq i, j \leq N)
  • 输入中的所有值均为整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2843
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签