有一个供
棋盘上有两种类型的单元格:激活单元格和停止单元格。
这些信息由长度为
这个棋盘游戏由编号从
游戏随着每个玩家轮流进行而进行,从玩家 1 开始,按数字顺序进行。在玩家
- 选择与其棋子所在的单元格通过一条路径相连的一个单元格,并将其棋子移动到所选择的单元格上。
- 如果目标单元格是激活单元格,则重复步骤 1 并继续其回合。如果目标单元格是停止单元格,则结束其回合。
代表日本参加这个棋盘游戏的包括 JOI 君在内的由
为了将玩家 1 的棋子放置在单元格
给定关于游戏棋盘和每个玩家棋子的初始放置位置的信息,编写一个程序来计算每个
输入格式
从标准输入中读取以下数据:
- ...
输出格式
输出
样例 #1
样例输入 #1
5 5 2 1 2 2 3 2 4 3 5 4 5 00000 1 5
样例输出 #1
0 1 2 2 3
样例解释 1
由于玩家
对于
对于
- 在第一步中,玩家
将他的棋子从单元格 移动到单元格 。由于单元格 是一个激活单元格,因此玩家 的回合继续。 - 在第二步中,玩家
将他的棋子从单元格 移动到单元格 。
由于他们无法在
类似地,可以验证
这个样例输入满足子任务
样例 #2
样例输入 #2
5 5 2 1 2 2 3 2 4 3 5 4 5 01000 1 5
样例输出 #2
0 1 4 4 5
样例解释 2
对于
- 在第一步中,玩家
将他的棋子从单元格 移动到单元格 。由于单元格 是一个停止单元格,接下来轮到玩家 。 - 在第二步中,玩家
将他的棋子从单元格 移动到单元格 。由于单元格 是一个激活单元格,玩家 的回合继续。 - 在第三步中,玩家
将他的棋子从单元格 移动到单元格 。由于单元格 是一个停止单元格,接下来轮到玩家 。 - 在第四步中,玩家
将他的棋子从单元格 移动到单元格 。
由于他们无法在
这个样例输入满足子任务
样例 #3
样例输入 #3
5 5 2 1 2 2 3 2 4 3 5 4 5 01100 1 5
样例输出 #3
0 1 3 3 4
样例 #4
样例输入 #4
8 7 5 1 3 5 7 4 6 2 6 2 3 7 8 1 5 10011010 4 6 4 7 1
样例输出 #4
4 2 3 0 10 1 17 24
样例 #5
样例输入 #5
12 13 3 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 1 10 2 9 7 12 11 12 110000011101 1 9 11
样例输出 #5
0 1 4 5 6 7 8 8 4 1 13 9
样例解释 3
这个样例输入满足子任务
样例解释 4
这个样例输入满足子任务
样例解释 5
这个样例输入满足子任务
约束条件
( ) , ( )- 可以通过经过多条路径从任何单元格到达任何其他单元格。
是长度为 的由 '0' 和 '1' 组成的字符串。 ( ) 、 和 都是整数。 和 是整数( )。 是整数( )。
子任务
- (3 分) 没有终止单元格。
- (7 分) 恰好有一个终止单元格。
- (7 分) 恰好有两个终止单元格。
- (19 分)
, , - (23 分)
- (9 分)
- (23 分)
, , - (9 分) 没有额外的约束。