#abc146f. [abc146_f]Sugoroku
[abc146_f]Sugoroku
题目描述
高桥正在玩一个名为Sugoroku的棋盘游戏。
棋盘上有个方格,编号从到。高桥从方格开始,并且他必须恰好停在方格才能赢得游戏。
游戏使用一个带有个数字(从到)的轮盘。在每一轮中,高桥旋转轮盘。如果在他位于方格时数字出现,他就会移动到方格。如果这使他超过方格,他就会输掉游戏。
此外,一些方格是“游戏结束方格”。如果他停在其中一个方格上,他也会输掉游戏。给定一个长度为的字符串,表示哪些方格是“游戏结束方格”。对于每个 ,如果,则方格是“游戏结束方格”,否则不是。
找出轮盘出现的数字序列,其中高桥可以以最少的轮次赢得游戏。如果存在多个这样的序列,则找出字典序最小的序列。如果高桥无法赢得游戏,则输出。
约束条件
- 由字符
0
和1
组成。 -
0
-
0
输入
输入数据从标准输入读取,其格式如下:
输出
如果高桥可以赢得游戏,以空格分隔的形式输出轮盘中出现的数字序列中字典序最小的序列。
如果高桥无法赢得游戏,则输出。
示例输入 1
9 3
0001000100
示例输出 1
1 3 2 3
如果按照顺序出现数字、、、,高桥可以通过方格、和到达方格。他无法在三次或更少的轮次内到达方格,而这是他在四次轮次内到达方格的字典序最小序列。
示例输入 2
5 4
011110
示例输出 2
-1
高桥无法到达方格。
示例输入 3
6 6
0101010
示例输出 3
6