#P15503. [ICPC 2025 APC] Boarding Queue

[ICPC 2025 APC] Boarding Queue

Description

You are on your way to compete in The 2025 ICPC Asia Pacific Championship. Unfortunately, you are in the process of the worst part of flying: waiting in the boarding queue.

You are in a queue with nn travelers, numbered from 11 to nn ordered from the front of the queue to the back of the queue. The boarding area is represented by a grid of rr rows and cc columns, where the rows are numbered from 11 to rr (top to bottom) and the columns are numbered from 11 to cc (left to right). Each traveler occupies exactly one distinct cell in the grid. Two travelers are adjacent if the cells they are in share an edge. Traveler tt and traveler t1t-1 are guaranteed to be adjacent, for any 2tn2 \leq t \leq n.

For example, Figure L.1 illustrates a possible location of the travelers. In this example, traveler 11 is adjacent to travelers 22 and 1010 but not adjacent to traveler 1111.

:::align{center}

Figure L.1: Example location of the travelers. :::

At each boarding step, all of the following happen simultaneously:

  • The frontmost traveler in the queue, say traveler tt, boards the aircraft and leaves the boarding area.
  • For each tt' (t+1tnt + 1 \leq t' \leq n), traveler tt' takes the cell that traveler t1t' - 1 was occupying immediately before the step.

:::align{center}

Figure L.2: Location of the travelers after 1, 2, and 3 boarding steps respectively. :::

For example, Figure L.2 illustrates the locations of the travelers after the first three boarding steps from the initial location above.

You are traveler pp (that is, there are p1p - 1 travelers in front of you). You know that your team coach is somewhere in the queue, but you do not know where. Assuming your team coach is equally likely to be any of travelers 11 to nn (except pp), you want to calculate the probability that you will be adjacent to your team coach at some point before you board the aircraft. Formally, you will be adjacent to traveler qq at some point before you board the aircraft if there exists an integer ss (0s<p0 \leq s < p) such that traveler pp and traveler qq are adjacent after ss boarding steps.

Input Format

The first line of input contains four integers rr, cc, nn, and pp (1r,c10001 \leq r, c \leq 1000; 2nr×c2 \leq n \leq r \times c; 1pn1 \leq p \leq n). Each of the next rr lines contains cc integers. The jj-th integer in the ii-th line denotes Gi,jG_{i,j} (0Gi,jn0 \leq G_{i,j} \leq n), where a non-zero of Gi,jG_{i,j} means that traveler Gi,jG_{i,j} initially occupies the cell at row ii and column jj of the boarding area, while a zero value of Gi,jG_{i,j} means that no traveler occupies the cell. Across all pairs (i,j)(i,j), each of the integers 11 to nn appears exactly once in Gi,jG_{i,j}. The input guarantees that traveler tt and traveler t1t-1 are adjacent, for all 2tn2 \leq t \leq n.

Output Format

Output a fraction in the x/yx/y format indicating the probability that you will be adjacent to your team coach at some point before you board the aircraft. The value of yy must be equal to n1n-1. Note that there must not be spaces between the integers and the / delimiter.

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

Hint

Explanation for the sample input/output #1

This sample corresponds to the example given in the problem description above. You will be adjacent to your team coach at some point before you board the aircraft if your team coach is either traveler 11, 33, or 1111.

Explanation for the sample input/output #2

You will be adjacent to your team coach at some point before you board the aircraft if your team coach is either traveler 55 or 77. Note that the output 1/31/3 is not accepted.