AT_arc159_a [ARC159A] Copy and Paste Graph

Description

[problemUrl]: https://atcoder.jp/contests/arc159/tasks/arc159_a $ N $ 行 $ N $ 列の行列 $ A=(a_{i,j}) $ が与えられます。ここで、$ a_{i,j}\ \in\ \{0,1\} $ が成り立ちます。 また、以下のような有向グラフがあります。 - 頂点数は $ NK $ で、各頂点には $ 1,2,\ldots,NK $ と番号が付けられている。 - 辺は $ A $ を縦 $ K $ 行横 $ K $ 列に並べて得られる $ NK $ 行 $ NK $ 列の行列 $ X=(x_{i,j}) $ によって表される(入出力例1にて $ A,\ K $ に対応する $ X $ が示されている)。具体的には、$ x_{i,j}=1 $ ならば頂点 $ i $ から頂点 $ j $ への有向辺が存在し、$ x_{i,j}=0 $ ならば存在しない。 $ i=1,2,\ldots,Q $ に対し、次の問題に答えてください。 - 頂点 $ s_i $ から頂点 $ t_i $ への経路の長さ(辺の本数)の最小値を求めよ。ただし、そのような経路が存在しない場合は代わりに `-1` と出力せよ。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ a_{1,1} $ $ \ldots $ $ a_{1,N} $ $ \vdots $ $ a_{N,1} $ $ \ldots $ $ a_{N,N} $ $ Q $ $ s_1 $ $ t_1 $ $ \vdots $ $ s_Q $ $ t_Q $

Output Format

$ Q $ 行出力せよ。$ x $ 行目には、$ i=x $ に対する問題の答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 100 $ - $ 1\ \leq\ K\ \leq\ 10^9 $ - $ a_{i,j}\ \in\ \{0,1\} $ - $ 1\ \leq\ Q\ \leq\ 100 $ - $ 1\ \leq\ s_i,t_i\ \leq\ NK $ - $ s_i\ \neq\ t_i $ - 入力はすべて整数 ### Sample Explanation 1 この例において、辺を表す行列 $ X $ は以下のようになります。 ``` 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 ``` ### Sample Explanation 2 辺が $ 1 $ 本も存在しません。