#arc159a. [arc159_a]Copy and Paste Graph

[arc159_a]Copy and Paste Graph

题目描述

给定一个 NN × NN 的矩阵 A=(ai,j)A=(a_{i,j}),其中 ai,j{0,1}a_{i,j} \in \{0,1\}

我们有以下有向图。

  • 该图有 NKNK 个顶点,编号为 1,2,,NK1,2,\ldots,NK
  • 边对应于将 K2K^2AA 的副本按照 KK 行和 KK 列排列得到的 NKNK × NKNK 矩阵 X=(xi,j)X=(x_{i,j})(参见示例输入/输出 1)。
    • 如果 xi,j=1x_{i,j}=1,则从顶点 ii 到顶点 jj 有一条有向边;如果 xi,j=0x_{i,j}=0,则该边不存在。

对于 i=1,2,,Qi=1,2,\ldots,Q,回答以下问题。

  • 找到从顶点 sis_i 到顶点 tit_i 的最短路径长度(边的数量)。如果不存在这样的路径,输出 -1

约束条件

  • 1N1001 \leq N \leq 100
  • 1K1091 \leq K \leq 10^9
  • ai,j{0,1}a_{i,j} \in \{0,1\}
  • 1Q1001 \leq Q \leq 100
  • 1si,tiNK1 \leq s_i,t_i \leq NK
  • sitis_i \neq t_i
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN KK a1,1a_{1,1} \ldots a1,Na_{1,N} \vdots aN,1a_{N,1} \ldots aN,Na_{N,N} QQ s1s_1 t1t_1 \vdots sQs_Q tQt_Q

输出

打印 QQ 行。第 xx 行应包含对于第 i=xi=x 个问题的答案。


示例输入1

3 2
1 1 1
1 1 0
0 1 0
4
1 2
1 4
1 6
6 3

示例输出1

1
1
1
3

以下是表示边的矩阵 XX

1 1 1 1 1 1
1 1 0 1 1 0
0 1 0 0 1 0
1 1 1 1 1 1
1 1 0 1 1 0
0 1 0 0 1 0

示例输入2

4 1000000000
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1
1 4000000000

示例输出2

-1

没有边存在。