#P14669. [ICPC 2025 Seoul R] Bay
[ICPC 2025 Seoul R] Bay
题目描述
We have a grid (lattice) graph , where is the number of vertices along both the -axis and the -axis, that is, the number of rows and columns. The vertices of the graph are numbered consecutively from 1 to in row-major ordering; starting from the top-left vertex, we traverse row by row from top to bottom, and within each row from left to right. Figure 1 shows two examples, and with vertex numbers.
:::align{center}

Figure 1. Left: Grid graph . Right: . :::
We are given a spanning tree of . The left in Figure 2 shows a spanning tree of . If we add an edge of that does not belong to (called non-tree edge), then exactly one simple cycle is created. We define the region enclosed by this cycle as a bay. There is a one-to-one correspondence between non-tree edges and bays, that is, each non-tree edge corresponds to exactly one bay. The area of a bay is defined by number of unit cells enclosed by the cycle. The right in Figure 2 shows two bays (colored blue and orange) created by adding two non-tree edges and , respectively. Note that the areas of two bays created by and are 4 and 12, respectively.
:::align{center}

Figure 2. A spanning tree of a grid and two bays created by and . :::
Given a spanning tree of a grid graph and a positive integer , write a program that finds all non-tree edges that creates bays of area and outputs the first non-tree edge among them in lexicographical order.
输入格式
Your program is to read from standard input. The input starts with a line containing two integers and where for and . Each of the following lines contains two distinct integers and representing an edge of a spanning tree , where .
输出格式
Your program is to write to standard output. The first line should contain the number of non-tree edges that create the bays of area . The second line should contain two distinct integers and () representing the first non-tree edge in lexicographical order among those that create the bays of area . The lexicographical order of two edges and is defined such that comes before if and only if or then . If there is no non-tree edge that creates the bay of area , then print "0" in the first line and two zeros "0 0" in the second line.
Figure 3 shows two spanning trees of a grid graph with , which are the sample inputs and outputs.
:::align{center}

Figure 3. Two spanning trees of for Sample Input 1 and 2 :::
5 2
1 2
2 3
3 8
4 5
5 10
6 11
7 8
7 12
8 13
9 10
9 14
11 12
11 16
12 17
13 14
14 15
15 20
16 21
17 18
17 22
18 23
19 20
19 24
24 25
2
13 18
5 2
1 2
2 3
3 8
4 5
5 10
6 11
7 8
7 12
8 13
9 10
9 14
11 12
13 14
14 15
15 20
16 17
16 21
17 18
17 22
18 23
19 20
19 24
23 24
24 25
0
0 0