CF1006F.Xor-Paths

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

有一个 n×mn \times m 的矩形网格。每个格子上写有一个数字,格子 (i,j)(i, j) 上的数字为 ai,ja_{i,j}

你的任务是计算从左上角 (1,1)(1, 1) 到右下角 (n,m)(n, m) 的路径中,满足以下条件的路径数量:

  • 你只能向右或向下移动。即从 (i,j)(i, j) 可以移动到 (i,j+1)(i, j+1)(i+1,j)(i+1, j),不能移出网格。
  • 路径上所有格子数字的 异或和 必须等于 kk

求满足条件的路径数量。

输入格式

第一行包含三个整数 n,m,kn, m, k1n,m201 \le n, m \le 200k10180 \le k \le 10^{18})——网格的高度、宽度和目标异或值。

接下来 nn 行,每行包含 mm 个整数,第 ii 行的第 jj 个元素为 ai,ja_{i,j}0ai,j10180 \le a_{i,j} \le 10^{18})。

输出格式

输出一个整数——从 (1,1)(1, 1)(n,m)(n, m) 异或和为 kk 的路径数量。

输入输出样例

  • 输入#1

    3 3 11
    2 1 5
    7 10 0
    12 6 4
    

    输出#1

    3
    
  • 输入#2

    3 4 2
    1 3 3 3
    0 3 3 2
    3 0 1 1
    

    输出#2

    5
    
  • 输入#3

    3 4 1000000000000000000
    1 3 3 3
    0 3 3 2
    3 0 1 1
    

    输出#3

    0
    

说明/提示

样例解释

样例 1 中的三条路径:

  1. (1,1)(2,1)(3,1)(3,2)(3,3)(1,1) \to (2,1) \to (3,1) \to (3,2) \to (3,3)
  2. (1,1)(2,1)(2,2)(2,3)(3,3)(1,1) \to (2,1) \to (2,2) \to (2,3) \to (3,3)
  3. (1,1)(1,2)(2,2)(3,2)(3,3)(1,1) \to (1,2) \to (2,2) \to (3,2) \to (3,3)

样例 3kk 非常大,没有路径的异或和能达到,答案为 00


数据范围

对于 100%100\% 的数据,1n,m201 \le n, m \le 200k10180 \le k \le 10^{18}0ai,j10180 \le a_{i,j} \le 10^{18}

首页