#P15503. [ICPC 2025 APC] Boarding Queue
[ICPC 2025 APC] Boarding Queue
说明
你正在前往参加 2025 年 ICPC 亚太锦标赛的路上。不幸的是,你正经历飞行中最糟糕的部分:在登机队列中等待。
你与 名旅客一同排队,旅客编号为 到 ,按从队首到队尾的顺序排列。登机区域由 行 列的网格表示,行从上到下编号为 到 ,列从左到右编号为 到 。每名旅客恰好占据网格中的一个不同单元格。如果两名旅客所在的单元格共享一条边,则称他们 相邻。对于任意 ,保证旅客 与旅客 相邻。
例如,图 L.1 展示了旅客可能的位置。在此示例中,旅客 与旅客 和 相邻,但与旅客 不相邻。
:::align{center}

图 L.1:旅客位置示例。 :::
在每个登机步骤中,以下事件同时发生:
- 队列中最靠前的旅客,设为旅客 ,登上飞机并离开登机区域。
- 对于每个 (),旅客 占据该步骤之前旅客 所在的单元格。
:::align{center}

图 L.2:分别经过 1、2 和 3 个登机步骤后旅客的位置。 :::
例如,图 L.2 展示了从上述初始位置经过前三个登机步骤后旅客的位置。
你是旅客 (即你前面有 名旅客)。你知道你的队伍教练在队列中的某个位置,但不知道具体在哪里。假设你的队伍教练等可能地是旅客 到 中的任意一人(除了 自己),你想要计算在登机前的某个时刻你会与队伍教练相邻的概率。形式化地说,如果存在一个整数 ()使得在 个登机步骤后,旅客 与旅客 相邻,则你会在登机前与旅客 相邻。
输入格式
输入的第一行包含四个整数 、、 和 (;;)。接下来的 行,每行包含 个整数。第 行第 个整数表示 (),其中 非零表示旅客 初始时占据登机区域第 行第 列的单元格, 为零表示该单元格无旅客。在所有 对中,整数 到 在 中恰好出现一次。输入保证对于所有 ,旅客 与旅客 相邻。
输出格式
以 格式输出一个分数,表示你在登机前的某个时刻与队伍教练相邻的概率。 的值必须等于 。注意整数与 / 分隔符之间不能有空格。
4 5 11 2
11 0 0 0 0
10 1 2 0 0
9 0 3 4 0
8 7 6 5 0
3/10
1 7 7 6
1 2 3 4 5 6 7
2/6
提示
样例输入/输出 #1 的解释
此示例对应于题目描述中给出的示例。如果你的队伍教练是旅客 、 或 ,你将在登机前的某个时刻与他相邻。
样例输入/输出 #2 的解释
如果你的队伍教练是旅客 或 ,你将在登机前的某个时刻与他相邻。注意输出 是 不 被接受的。
翻译由 DeepSeek 完成
京公网安备 11011102002149号