AT_s8pc_3_c.XORパズル
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
由于样例 3 存在问题,已进行了重新评测。对此深感抱歉。(21:01)
square1001 从 Atcoder 公司收到了一个长度为 n 的数列 a。数列 a 的所有元素互不相同。
他曾经构造了一个数列 b,但现在已经不记得具体内容了。不过,他还记得以下几点:
- 数列 b 的所有元素互不相同。
- 数列 b 的所有元素都包含在 a 中。
- 由于 square'1001' 喜欢二进制,他还记得 b1⊕b2⊕⋯⊕br=k(r 是数列 b 的长度)。这里 ⊕ 表示异或运算。
square1001 想知道,作为数列 b 可能的方案有多少种。
然而,他正打算用暴力枚举的方法来解决这个问题,你发现后,决定帮他计算出来。
请你计算,square'1001' 可能构造的数列 b 有多少种?
由于答案可能非常大,请输出对 1,000,000,007 取模后的结果。
输入格式
输入通过标准输入给出,格式如下:
n k
a1 a2 ⋯ an
- 第 1 行包含数列 a 的长度 n 和数列 b 的异或值 k,两者以空格分隔。
- 第 2 行包含数列 a 的 n 个元素,以空格分隔。
输出格式
请输出一个整数,表示 square'1001' 可能构造的数列 b 的方案数。
结果需对 1,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≤100
- 1≤ai,k≤255
- i=j⇒ai=aj
子任务
子任务 1【50 分】
- 满足 1≤n≤4。
子任务 2【170 分】
- 满足 1≤n≤20。
子任务 3【180 分】
- 满足 1≤n≤100。
样例解释 1
作为数列 b 的可能方案有 b={1}、{2,3}、{3,2},共 3 种。
样例解释 2
作为数列 b 的可能方案有 b={5,7,8}、{5,8,7}、{7,5,8}、{7,8,5}、{8,5,7}、{8,7,5},共 6 种。
样例解释 3
请输出对 1,000,000,007 取模后的结果。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?