#32. 探险

探险

题目描述

李华在玩一款游戏,游戏中玩家初始在 11 号点,游戏目标是到达 nn 号点。

对于每一个点 ii ,都会有一个对应的长度为 mm 的字符串 sis_isis_i 仅由 0011 组成,假如 sis_i 的第 jj 个位置为 11 ,表示点 ii 和点 i+ji+j 之间有一条长度为 11 的边(如果 i+j>ni+j>n ,则保证 sis_i 的第 jj 位为 00 )。

李华想要请你帮他解决如下问题:

对于 k=2,3,...,n1k=2,3,...,n-1 , 李华是否从点 11 出发在不经过点 kk 的情况下到达点 nn ,如果能够到达,输出需要经过的最短路径,否则输出 1-1 .

输入格式

11 行,两个数字 n,mn,m,表示点的个数和每个字符串的长度.

接下来 nn 行,每行一个长度为 mm 的字符串 sis_i .

输出格式

输出 n2n-2 个数表示每一个 kk 的答案.

样例输入

4 2
11
00
11
00

样例输出

2 -1

数据范围

对于 30%30\% 的数据,满足 3n1033\le n \le 10^3, 1m101 \le m \le 10 , m<nm<n

对于 100%100\%​ 的数据,满足 3n1053\le n \le 10^{5}, 1m101 \le m \le 10 , m<nm<n