#P2890. Matrix Multiplication

Matrix Multiplication

布尔矩阵快速幂问题

题目描述

已经对开发计算矩阵乘法的高效算法进行了许多研究。但今天它仍然是一个棘手的话题。在这个问题中,您将计算平方布尔矩阵的 20062006 次方,其中加法和乘法定义如下:

布尔运算定义

AA + BB 00 11
00 11
11
AA × BB 00 11
00 00 00
11 11

AA 为方阵:

  • AA 的零次方是单位矩阵
  • AA 的第 nn 次方(n>0n > 0)是 AA 与其 (n1)(n − 1) 次方的乘积

输入输出格式

输入格式

输入包含多个测试用例:

  1. 11 行:两个整数 KK (K<1000K < 1000) 和 MM (0M10K0 ≤ M ≤ 10K),表示矩阵维度为 K×KK × K,矩阵有 K+MK + M11
  2. 22 行 ~ 第 M+1M + 1 行:每行两个整数 iijj (0i,j<K0 ≤ i, j < K, iji ≠ j),表示矩阵第 (i+1)(i + 1) 行第 (j+1)(j + 1) 列元素为 11

注意:矩阵主对角线上的所有元素都是 11

输出格式

对于每个测试用例,输出一行,包含给定矩阵的 20062006 次方中 11 的元素个数

示例

输入样例

3 4
1 2
2 1
0 1
0 2

输出样例

7

题目来源

POJPOJ 月刊--2006.07.302006.07.30StaticStatic