QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 2048 MB 總分: 100 难度: [顯示] 可 Hack ✓

#18202. Orden DFS 6

统计

Little Cyan Fish ama los órdenes DFS. Hoy los está estudiando una vez más, pero en grafos simples no dirigidos en lugar de árboles enraizados.

Fije un grafo simple no dirigido y conexo $G$ con $n$ vértices etiquetados del 1 al $n$, y un vértice inicial $s$. El orden DFS de $G$ desde $s$ es la secuencia en la que los vértices son visitados por primera vez mediante la búsqueda en profundidad que se muestra a continuación; los empates se rompen descendiendo siempre al vecino no visitado con la etiqueta más pequeña, por lo que el orden DFS es único.

Algoritmo 1 El orden DFS utilizado en este problema

 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

Un grafo con 7 vértices y 7 aristas. El orden DFS desde el vértice 1 es [1, 2, 3, 7, 4, 5, 6].

Little Cyan Fish ha preparado $n$ permutaciones $a_1, a_2, \dots, a_n$ de $1$ a $n$. Cada $a_i = [a_{i,1}, a_{i,2}, \dots, a_{i,n}]$ es lo que él afirma que sería el orden DFS desde el vértice $i$.

Reconstruya cualquier grafo simple no dirigido y conexo $G$ sobre los vértices $1, 2, \dots, n$ tal que el orden DFS desde cada vértice inicial $i$ sea igual a $a_i$, o determine que no existe tal grafo.

Entrada

Hay múltiples casos de prueba. La primera línea de la entrada contiene un único entero $T$ ($1 \le T$), que indica el número de casos de prueba.

Para cada caso de prueba, la primera línea contiene un único entero $n$ ($1 \le n \le 200$). Cada una de las siguientes $n$ líneas contiene $n$ enteros; la $i$-ésima de estas líneas contiene $a_{i,1}, a_{i,2}, \dots, a_{i,n}$ ($1 \le a_{i,j} \le n$) — el orden DFS que Little Cyan Fish afirma que se produce cuando la búsqueda comienza desde el vértice $i$. Se garantiza que $a_{i,1} = i$, y cada fila $a_i$ es una permutación de $1, 2, \dots, n$.

Se garantiza que la suma de $n^2$ sobre todos los casos de prueba no excede $4 \times 10^4$.

Salida

Para cada caso de prueba, si no existe un grafo adecuado, imprima una sola línea que contenga "No".

De lo contrario, imprima "Yes" en la primera línea. En la siguiente línea, imprima un único entero $m$ ($n - 1 \le m \le \frac{n(n-1)}{2}$) — el número de aristas en su grafo.

Cada una de las siguientes $m$ líneas debe contener dos enteros $u$ y $v$ ($1 \le u, v \le n, u \neq v$), que denotan una arista no dirigida entre los vértices $u$ y $v$. El grafo resultante debe ser simple y conexo, y su orden DFS desde cada vértice $i$ debe ser igual a $a_i$.

Si múltiples grafos satisfacen los requisitos, imprima cualquiera de ellos.

Ejemplos

Entrada 1

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

Salida 1

Yes
2
1 2
2 3
No

Nota

Explicación del Ejemplo 1: En el caso de prueba, el camino 1-2-3 es un grafo válido: sus órdenes DFS comenzando desde los vértices 1, 2 y 3 son [1, 2, 3], [2, 1, 3] y [3, 2, 1] respectivamente. En el segundo caso de prueba, no existe un grafo adecuado.

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.