AT_s8pc_3_c.XORパズル

通过率:0%

AC君温馨提醒

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

题目描述

由于样例 3 存在问题,已进行了重新评测。对此深感抱歉。(21:01)

square1001 从 Atcoder 公司收到了一个长度为 nn 的数列 aa。数列 aa 的所有元素互不相同。
他曾经构造了一个数列 bb,但现在已经不记得具体内容了。不过,他还记得以下几点:

  • 数列 bb 的所有元素互不相同。
  • 数列 bb 的所有元素都包含在 aa 中。
  • 由于 square'1001' 喜欢二进制,他还记得 b1⊕b2⊕⋯⊕br=kb_1 \oplus b_2 \oplus \cdots \oplus b_r = k(rr 是数列 bb 的长度)。这里 ⊕\oplus 表示异或运算。

square1001 想知道,作为数列 bb 可能的方案有多少种。
然而,他正打算用暴力枚举的方法来解决这个问题,你发现后,决定帮他计算出来。
请你计算,square'1001' 可能构造的数列 bb 有多少种?
由于答案可能非常大,请输出对 1,000,000,0071,000,000,007 取模后的结果。

输入格式

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

n kn\ k
a1 a2 ⋯ ana_1\ a_2\ \cdots\ a_n

  • 第 1 行包含数列 aa 的长度 nn 和数列 bb 的异或值 kk,两者以空格分隔。
  • 第 2 行包含数列 aa 的 nn 个元素,以空格分隔。

输出格式

请输出一个整数,表示 square'1001' 可能构造的数列 bb 的方案数。
结果需对 1,000,000,0071,000,000,007 取模。

输入输出样例

  • 输入#1

    3 1
    1 2 3

    输出#1

    3
  • 输入#2

    3 10
    8 7 5

    输出#2

    6
  • 输入#3

    25 127
    5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125

    输出#3

    235924722

说明/提示

约束条件

  • 1≤n≤1001 \le n \le 100
  • 1≤ai,k≤2551 \le a_i, k \le 255
  • i≠j⇒ai≠aji \neq j \Rightarrow a_i \neq a_j

子任务

子任务 1【50 分】

  • 满足 1≤n≤41 \le n \le 4。

子任务 2【170 分】

  • 满足 1≤n≤201 \le n \le 20。

子任务 3【180 分】

  • 满足 1≤n≤1001 \le n \le 100。

样例解释 1

作为数列 bb 的可能方案有 b={1}b = \{1\}、{2,3}\{2, 3\}、{3,2}\{3, 2\},共 3 种。

样例解释 2

作为数列 bb 的可能方案有 b={5,7,8}b = \{5, 7, 8\}、{5,8,7}\{5, 8, 7\}、{7,5,8}\{7, 5, 8\}、{7,8,5}\{7, 8, 5\}、{8,5,7}\{8, 5, 7\}、{8,7,5}\{8, 7, 5\},共 6 种。

样例解释 3

请输出对 1,000,000,0071,000,000,007 取模后的结果。

由 ChatGPT 4.1 翻译

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

首页