#ATarc159a. [ARC159A] Copy and Paste Graph

[ARC159A] Copy and Paste Graph

题目描述

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

此外,存在如下的有向图:

  • 顶点数为 NKNK,每个顶点编号为 1,2,,NK1,2,\ldots,NK
  • 边由将 AA 纵向复制 KK 行、横向复制 KK 列得到的 NKNKNKNK 列的矩阵 X=(xi,j)X=(x_{i,j}) 表示(在输入输出样例1中,给出了与 A, KA,\ K 对应的 XX)。具体来说,若 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-1

输入格式

输入以如下格式从标准输入读入。

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
3

样例 2

输入

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

输出

-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
  • 所有输入均为整数

样例解释 1

在本例中,表示边的矩阵 XX 如下所示。

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

样例解释 2

不存在任何一条边。

由 ChatGPT 4.1 翻译