QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 2048 MB Puntuación total: 100 Dificultad: [mostrar] Hackeable ✓

#18202. Thứ tự DFS 6

Estadísticas

Little Cyan Fish rất yêu thích các thứ tự DFS. Hôm nay, cậu ấy lại nghiên cứu chúng một lần nữa, nhưng trên các đồ thị đơn vô hướng thay vì cây có gốc.

Cho một đồ thị đơn vô hướng liên thông $G$ gồm $n$ đỉnh được đánh số từ $1$ đến $n$, và một đỉnh bắt đầu $s$. Thứ tự DFS của $G$ từ $s$ là dãy các đỉnh được thăm lần đầu tiên bởi thuật toán tìm kiếm theo chiều sâu dưới đây; các trường hợp bằng nhau được giải quyết bằng cách luôn đi xuống đỉnh kề chưa được thăm có nhãn nhỏ nhất, do đó thứ tự DFS là duy nhất.

Thuật toán 1 Thứ tự DFS được sử dụng trong bài toán này

 1: procedure DFS(vertex x)
 2:     Mark x as visited
 3:     Append x to the end of dfs_order
 4:     for each vertex y adjacent to x in G, in ascending order of label do
 5:         if y is not yet visited then
 6:             DFS(y)
 7:         end if
 8:     end for
 9: end procedure
10:
11: procedure GENERATE(G, vertex s)
12:     Mark all vertices as unvisited
13:     Let dfs_order be an empty list
14:     DFS(s)
15:     return dfs_order
16: end procedure
problem_18202_1.png

Một đồ thị với 7 đỉnh và 7 cạnh. Thứ tự DFS từ đỉnh 1 là [1, 2, 3, 7, 4, 5, 6].

Little Cyan Fish đã chuẩn bị $n$ hoán vị $a_1, a_2, \dots, a_n$ của các số từ $1$ đến $n$. Mỗi $a_i = [a_{i,1}, a_{i,2}, \dots, a_{i,n}]$ là thứ tự DFS mà cậu ấy khẳng định sẽ thu được khi bắt đầu từ đỉnh $i$.

Hãy tái tạo bất kỳ đồ thị đơn vô hướng liên thông $G$ nào trên các đỉnh $1, 2, \dots, n$ sao cho thứ tự DFS từ mỗi đỉnh bắt đầu $i$ đều bằng $a_i$, hoặc xác định rằng không tồn tại đồ thị như vậy.

Dữ liệu vào

Có nhiều bộ dữ liệu. Dòng đầu tiên của dữ liệu vào chứa một số nguyên duy nhất $T$ ($1 \le T$), biểu thị số lượng bộ dữ liệu.

Đối với mỗi bộ dữ liệu, dòng đầu tiên chứa một số nguyên duy nhất $n$ ($1 \le n \le 200$). Mỗi dòng trong số $n$ dòng tiếp theo chứa $n$ số nguyên; dòng thứ $i$ chứa $a_{i,1}, a_{i,2}, \dots, a_{i,n}$ ($1 \le a_{i,j} \le n$) — thứ tự DFS mà Little Cyan Fish khẳng định được tạo ra khi tìm kiếm bắt đầu từ đỉnh $i$. Đảm bảo rằng $a_{i,1} = i$, và mỗi hàng $a_i$ là một hoán vị của $1, 2, \dots, n$.

Đảm bảo rằng tổng của $n^2$ trên tất cả các bộ dữ liệu không vượt quá $4 \times 10^4$.

Dữ liệu ra

Đối với mỗi bộ dữ liệu, nếu không tồn tại đồ thị phù hợp, hãy in ra một dòng duy nhất chứa "No".

Nếu không, hãy in "Yes" ở dòng đầu tiên. Ở dòng tiếp theo, in một số nguyên duy nhất $m$ ($n - 1 \le m \le \frac{n(n-1)}{2}$) — số lượng cạnh trong đồ thị của bạn.

Mỗi dòng trong số $m$ dòng tiếp theo phải chứa hai số nguyên $u$ và $v$ ($1 \le u, v \le n, u \neq v$), biểu thị một cạnh vô hướng giữa các đỉnh $u$ và $v$. Đồ thị kết quả phải là đồ thị đơn, liên thông và thứ tự DFS từ mỗi đỉnh $i$ phải bằng $a_i$.

Nếu có nhiều đồ thị thỏa mãn các yêu cầu, hãy in ra bất kỳ đồ thị nào trong số đó.

Ví dụ

Ví dụ 1

2
3
1 2 3
2 1 3
3 2 1
3
1 2 3
2 3 1
3 1 2

Ví dụ 2

Yes
2
1 2
2 3
No

Ghi chú

Giải thích ví dụ 1: Trong bộ dữ liệu đầu tiên, đường đi $1 - 2 - 3$ là một đồ thị hợp lệ: thứ tự DFS bắt đầu từ các đỉnh $1, 2$ và $3$ lần lượt là $[1, 2, 3], [2, 1, 3]$ và $[3, 2, 1]$. Trong bộ dữ liệu thứ hai, không tồn tại đồ thị phù hợp.

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.