Bajtazar 正在练习,以成为一名 Forkbajt 的职业玩家。
Forkbajt 的游戏在一个 的棋盘上进行,其行和列用 到 的整数编号。在第 行第 列的格子上有着 Bajtazar 的城堡。在其余的每个格子上可能有一个障碍物或者一个堡垒。
整个游戏持续 天,而在这些天之间的每个夜晚,我们会收到关于建造或拆除某个堡垒的信息。
每一天,Bajtazar 必须向所有当前存在的堡垒发送消息。一天由许多回合组成。在每个回合中,Bajtazar 可以招募一名新英雄,并命令他从城堡前往其中一个堡垒(并在那里传递消息)。接下来,每位英雄可以移动到相邻的格子(左、右、上或下)。
英雄可以通过有堡垒的格子,但不能通过有障碍物的格子。也不能发生回合结束后两名英雄位于同一个格子上的情况。
我们感兴趣的是确定向所有堡垒传递消息所需的最小回合数。你的任务是为 天中的每一天确定向所有当前存在的堡垒传递消息所需的最小回合数。
我们保证没有任何堡垒会被与城堡“切断”,也就是说,从城堡到任何当前存在的堡垒都是可达的。