#P3890. [GDOI2014] 比特矩阵
[GDOI2014] 比特矩阵
题目背景
你知道矩阵乘法吗?
对于两个 的矩阵 A 和 B, 假设 表示位于矩阵 A 的第 行第 列的元素, 同样对于B可以定义类似的 。 那么如果 ,则有 。 其中 是序列求和符号,例如 表示 。
题目描述
由于霍比特人的大热, L 的室友 X 最近热衷于研究它们所使用的货币。为了进行研究,X 需要了解一种叫比特矩阵的东西。 虽然比特矩阵也是矩阵,但是它的乘法和一般的矩阵有点不一样。
对于比特矩阵 , 意味着 。其中 是序列求按位或的符号,例如 表示 。 就是按位或的意思。 按位或是指从二进制的角度看两个数, 如果第 位上两个数至少一个是1的话那结果的第 位就是1, 否则第 位就是 。 表示按位异或运算, 即如果两个二进制数的第位是不相同的话那么结果的第 位就是 ,否则就是 。
举个比特矩阵相乘的例子:
$$\begin{bmatrix}1&6\\3&5\end{bmatrix}\times\begin{bmatrix}3&6\\5&7\end{bmatrix}=\begin{bmatrix}3&7\\0&7\end{bmatrix} $$现在 X 想要拜托你帮他算 ,其中 是一个 的比特矩阵, 而 表示 个 相乘的结果。严谨地说:
- ;
- 。
输入格式
输入第一行包含两个正整数 。
接下来 行,每行包含 个非负整数,这 行中第 行的第 个数表示比特矩阵 的元素 。
输出格式
根据输入,输出一个比特矩阵 。即按照输入给出 的方式输出一个比特矩阵。 具体参看样例输出。
2 4
10 5
5 10
0 15
15 0
3 16
6 5 7
5 6 7
7 7 6
0 3 3
3 0 3
3 3 0
提示
数据范围及约定
- 对于 的数据 ,。
- 对于 的数据 ,。
- 对于 的数据 ,, 所有输入的整数不超过。