#P1059. Chutes and Ladders
Chutes and Ladders
描述
有一款受孩子们欢迎的棋盘游戏名为“蛇梯棋(Chutes and Ladders)”。棋盘上的方格从 1 到 100 编号,玩家的棋子从理论上的 0 号方格开始。玩家轮流投掷一个标有 1 到 6 数字的骰子,每个玩家将自己的棋子向前移动与骰子上数字对应的方格数(棋子到达的方格通过将骰子数字加到棋子所在方格数上得到)。第一个到达 100 号方格的玩家获胜。
这款游戏的趣味性在于,一些方格通过“梯子”(将编号较低的方格与编号较高的方格相连)和“蛇梯(滑道)”(从编号高的方格通向编号低的方格)相互连接。如果棋子落在蛇梯或梯子的起始方格上(即在投掷骰子后到达的方格),则将棋子移动到蛇梯或梯子对应的结束方格。请注意,落在梯子或蛇梯的结束方格上没有效果,只有起始方格起作用。此外,有些方格上写着,如果玩家的棋子落在这些方格上,玩家必须跳过下一回合,或者立即再次投掷骰子进行下一回合,具体取决于棋盘上的说明。错过回合或额外回合的方格绝不是梯子或蛇梯的起始或结束方格。如果玩家在 95 号方格或更高的方格上,那么使他们超过 100 号方格的骰子投掷必须被忽略——因此在 99 号方格上的玩家必须忽略除 1 以外的所有投掷结果。
输入
输入首先是一组少于 1000 次的骰子投掷结果,你必须将这些结果用于所有游戏。每个新游戏开始时,第一个玩家“投掷”这组结果中的第一个数字,下一个玩家“投掷”第二个数字,依此类推。这组骰子投掷结果只是一个由 1 到 6 之间的随机数字组成的列表,数字之间用单个空格分隔,每行不超过 80 个字符。这组结果以数字 0 结束。在这组骰子投掷结果之后,会有一个或多个游戏组。每个游戏组分为三个部分。第一部分是一行,包含一个数字,表示游戏中的玩家数量,这个数字大于 1 且小于 6。然后描述棋盘,分为两个部分。第一部分列出棋盘上的梯子和蛇梯,每个梯子或蛇梯在一行中定义。每个梯子或蛇梯由两个 1 到 99 之间的数字表示,数字之间用一个或多个空格分隔。第一个数字表示起始方格,第二个数字表示结束方格;所以如果第一个数字小于第二个数字,这是一个梯子,如果顺序相反,则是一个蛇梯。梯子和蛇梯的定义以包含两个 0 的一行结束。棋盘描述的第二部分给出错过回合/额外回合的方格(如果有的话)。这些方格由单个数字表示,每个数字占一行,定义了相应的方格。如果数字为负,其对应的正数方格是错过回合的方格;如果数字为正,则表示落在该方格上的玩家必须立即再次投掷骰子的额外回合方格。(例如,-16 表示棋盘上的 16 号方格是错过回合的方格,而 25 表示落在 25 号方格上的玩家必须立即再次投掷骰子)。这组描述以及游戏描述的结束由单个 0 表示。所有游戏描述的结束由玩家数量为 0 的游戏表示。
输出
对于输入中的每个游戏,输出一行,给出获胜玩家的编号。每个游戏在使用开始时给出的骰子投掷结果内都会确定一个获胜者。
3 6 3 2 5 1 3 4 2 3 1 2 0
2
6 95
99 1
0 0
-3
98
0
2
3 99
6 90
0 0
0
0
2
2
来源
太平洋西北地区 1998 年