QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#14337. Boarding Queue

الإحصائيات

你正在前往参加 2025 年 ICPC 亚太锦标赛的路上。不幸的是,你正处于飞行中最糟糕的部分:在登机队列中等待。

你所在的队列中有 $n$ 名旅客,编号从 1 到 $n$,按从队首到队尾的顺序排列。

登机区域是一个 $r$ 行 $c$ 列的网格,行号从 1 到 $r$(从上到下),列号从 1 到 $c$(从左到右)。每名旅客恰好占据网格中的一个不同单元格。如果两名旅客所在的单元格共享一条边,则称他们相邻。对于任何 $2 \le t \le n$,保证旅客 $t$ 和旅客 $t - 1$ 相邻。

例如,图 L.1 展示了旅客的一种可能位置。在此示例中,旅客 1 与旅客 2 和 10 相邻,但不与旅客 11 相邻。

图 L.1:旅客位置示例。

在每个登机步骤中,以下所有事件同时发生:

  • 队列中最前面的旅客(假设为旅客 $t$)登机并离开登机区域。
  • 对于每名旅客 $t'$ ($t + 1 \le t' \le n$),旅客 $t'$ 占据旅客 $t' - 1$ 在该步骤之前所占据的单元格。

例如,图 L.2 展示了从上述初始位置开始,经过前三个登机步骤后旅客的位置。

图 L.2:分别经过 1、2 和 3 个登机步骤后旅客的位置。

你是旅客 $p$(即你前面有 $p - 1$ 名旅客)。你知道你的团队教练在队列中的某处,但你不知道具体位置。假设你的团队教练是 1 到 $n$ 号旅客($p$ 除外)中任意一人的概率相等,你想要计算在你登机前,你在某个时刻与你的团队教练相邻的概率。形式上,如果你在登机前存在一个整数 $s$ ($0 \le s < p$),使得旅客 $p$ 和旅客 $q$ 在经过 $s$ 个登机步骤后相邻,则称你在登机前与旅客 $q$ 相邻。

输入格式

第一行包含四个整数 $r$、$c$、$n$ 和 $p$ ($1 \le r, c \le 1000$; $2 \le n \le r \times c$; $1 \le p \le n$)。接下来的 $r$ 行,每行包含 $c$ 个整数。第 $i$ 行的第 $j$ 个整数表示 $G_{i,j}$ ($0 \le G_{i,j} \le n$),其中非零的 $G_{i,j}$ 表示旅客 $G_{i,j}$ 最初占据登机区域第 $i$ 行第 $j$ 列的单元格,而 $G_{i,j}$ 为零表示该单元格没有旅客。在所有 $(i, j)$ 对中,1 到 $n$ 的每个整数在 $G_{i,j}$ 中恰好出现一次。输入保证对于所有 $2 \le t \le n$,旅客 $t$ 和旅客 $t - 1$ 相邻。

输出格式

输出一个 $x/y$ 格式的分数,表示在你登机前,你在某个时刻与你的团队教练相邻的概率。$y$ 的值必须等于 $n - 1$。注意,整数与 / 分隔符之间不能有空格。

样例

样例输入 1

4 5 11 2
11 0 0 0 0
10 1 2 0 0
9 0 3 4 0
8 7 6 5 0

样例输出 1

3/10

说明 1

此样例对应于题目描述中给出的示例。如果你团队教练是旅客 1、3 或 11,则你在登机前会在某个时刻与他相邻。

样例输入 2

1 7 7 6
1 2 3 4 5 6 7

样例输出 2

2/6

说明 2

如果你团队教练是旅客 5 或 7,则你在登机前会在某个时刻与他相邻。注意,输出 1/3 是不被接受的。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.