#luoguP12072. [THOI 2014] 超立方体

[THOI 2014] 超立方体

本题没有可用的提交语言。

题目背景

搬运自 2014 年清华大学信息学邀请赛

题目描述

B\bf{B} 君得到了一个神奇的超立方体,具体来说这是一个 mm 维的超立方体,一共有 n=2mn=2^m 个顶点,我们将这些点从 00n1n-1 标号。

对于点 ii,我们可以把 ii 转换成 mm 位二进制表示,如果不足 mm 位则高位补 00。这样得到的一个 mm 维坐标就是这个点的坐标。

如果两个点的欧几里得距离为 11(也就是说,在原先的超立方体中有一条边连接它们),那么它们是相邻的。

iipip_i 个信息,每过一个周期,每个点都会向相邻节点发送这些信息,且自己不保留这些信息。具体来说,点 ii 的信息总和变为它相邻的 mm 个点的信息和。

现在 B\bf{B} 君已知 nn 个点的初始信息 pip_i,他想预言 tt 个周期之后所有点的信息分别是多少。

B\bf{B} 君对此一筹莫展,于是找到了他的好朋友 R\bf{R} 君。

R\bf{R} 君:“nntt 有多大?”

B\bf{B} 君:“nn 大约是 2202^{20}tt 大约是 101810^{18}。”

R\bf{R} 君:“那这个结果太大了,即便算出来,也根本存不下。”

B\bf{B} 君:“那么就将最终结果模一个数吧。”

R\bf{R} 君:“那我再来想想看。”

输入格式

第一行三个整数 n,tn,tKK,其中 KK3232 为符号整数。

以下 nn 行,每行一个整数 pi(pi<K)p_i(p_i<K),含义如题目描述。

输出格式

一共 nn 行,每行一个整数 qiq_i,表示 tt 个周期后 ii 节点信息总和除以 KK 的余数。

4 2 10007
4
1
2
3
14
6
6
14

提示

【对样例的说明】

【数据规模与约定】

  • 特别说明 11:所有编号为奇数的测试点,KK 为合数;所有编号为偶数的测试点,KK 为质数。
  • 特别说明 22:最开始时,有超过 2020 个点上没有任何信息。
  • 特别说明 33:最开始时,仅有 55 个点上存有信息。