AT_abc271_f.[ABC271F] XOR on Grid Path

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个 NN 行 NN 列的方格,从上往下第 ii 行、从左往右第 jj 列的格子记作 (i,j)(i, j)。
每个格子 (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 的路径总数。

异或的定义如下:对于整数 a,ba, b,它们的异或 a⊕ba \oplus b 定义为:将 a,ba, b 用二进制表示后,每一位上如果只有一方为 11,则该位为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(因为 011⊕101=110011 \oplus 101 = 110)。
一般地,kk 个整数 p1,…,pkp_1, \dots, p_k 的异或为 (⋯((p1⊕p2)⊕p3)⊕⋯⊕pk)(\cdots((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k),并且可以证明其结果与顺序无关。

输入格式

输入通过标准输入给出,格式如下:

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

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3
    1 5 2
    7 0 5
    4 2 3

    输出#1

    2
  • 输入#2

    2
    1 2
    2 1

    输出#2

    0
  • 输入#3

    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

    输出#3

    24307

说明/提示

数据范围

  • 2≤N≤202 \leq N \leq 20
  • 0≤ai,j<230 (1≤i,j≤N)0 \leq a_{i, j} < 2^{30}\ (1 \leq i, j \leq N)
  • 输入均为整数

样例解释 1

有以下两条路径满足条件:

  • (1,1)→(1,2)→(1,3)→(2,3)→(3,3)(1, 1) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (2, 3) \rightarrow (3, 3)
  • (1,1)→(2,1)→(2,2)→(2,3)→(3,3)(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (2, 3) \rightarrow (3, 3)

由 ChatGPT 4.1 翻译

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

首页