QOJ.ac

QOJ

時間限制: 10 s 記憶體限制: 512 MB 總分: 100

#857. Distanciation sociale

统计

Deux choses doivent être dites à propos des étudiants : ils détestent travailler plus que nécessaire et adorent prendre leurs distances avec les autres. La première raison explique probablement pourquoi le département forme un arbre (construire un couloir entre deux salles indirectement connectées serait une perte de temps) ; la seconde explique pourquoi ils prospèrent pendant la pandémie actuelle. Désormais, la distanciation sociale n'est plus un luxe, c'est la norme !

Cependant, les bâtiments structurés en arbre et la distanciation sociale ne vont pas vraiment de pair. Actuellement, il y a $k$ étudiants dans certaines des salles et, en raison d'une politique de distanciation, il y a au plus un étudiant par salle. De plus, aucun étudiant ne réside dans des salles directement reliées par un couloir.

La compétition ICPC commence bientôt et les étudiants se précipitent pour prendre place aux ordinateurs dispersés dans le département. Il y a $k$ ordinateurs – autant qu'il y a d'étudiants – situés dans certaines des salles ; de plus, pour rendre la distanciation possible, aucun ordinateur n'est situé dans la même salle et aucune salle directement connectée ne possède d'ordinateur. Les étudiants peuvent s'attribuer les ordinateurs arbitrairement, mais ils doivent maintenir la distanciation sociale à tout moment – les amener là où ils doivent être peut donc être délicat, voire impossible.

Vous êtes un organisateur impitoyable de l'ICPC et le créateur du jeu de problèmes ultime. En regardant les étudiants courir frénétiquement, vous réalisez une horrible vérité : si les étudiants n'atteignent pas leurs salles à temps, ils ne pourront pas participer à la compétition, et tout le travail acharné sur la préparation de problèmes insolubles aura été vain ! Vous ne pouvez sûrement pas permettre cela.

Étant donné les positions actuelles des étudiants et les positions des ordinateurs, concevez une séquence d'opérations qui déplace chaque étudiant vers une salle équipée d'un ordinateur. Chaque opération doit déplacer un étudiant vers une salle adjacente ; après chaque opération, aucun étudiant ne doit se trouver dans la même salle ou dans deux salles adjacentes. Le temps restant avant le début de la compétition vous permet d'effectuer au plus $4n^2$ mouvements, où $n$ est le nombre de salles. Il se peut que votre tâche soit impossible, mais il n'y a qu'un seul moyen de le savoir...

Entrée

La première ligne de l'entrée contient le nombre de cas de test $z$ ($1 \le z \le 100\,000$). Les descriptions des cas de test suivent.

La première ligne d'un cas de test contient un entier unique $n$ ($2 \le n \le 2\,000$) – le nombre de salles dans le département.

Les $n - 1$ lignes suivantes contiennent deux entiers $u_i, v_i$ ($1 \le u_i \neq v_i \le n$) – deux salles reliées par un couloir. Il est garanti que les couloirs décrits forment un arbre (un graphe connexe sans cycles).

La ligne suivante contient un entier unique $k$ ($1 \le k < n$) – le nombre d'étudiants (et d'ordinateurs).

La ligne suivante contient les entiers $s_1, \dots, s_k$ ($1 \le s_1 < s_2 < \dots < s_k \le n$) – les emplacements initiaux des étudiants.

La ligne suivante contient les entiers $c_1, \dots, c_k$ dans un format similaire, désignant les salles avec des ordinateurs.

Il est garanti qu'il y a au moins un étudiant situé dans une salle sans ordinateur.

La somme de $n^2$ sur tous les cas de test ne dépasse pas $4 \cdot 10^7$.

Sortie

Pour chaque cas de test, affichez « YES » (sans les guillemets) s'il est possible de déplacer les étudiants vers des salles avec des ordinateurs tout en maintenant la distanciation sociale, et « NO » sinon. Dans le premier cas, imprimez sur les lignes suivantes toute solution valide.

La description de la solution doit commencer par un entier unique $m$ ($1 \le m \le 4 \cdot n^2$) désignant le nombre de mouvements. Ensuite, $m$ lignes doivent suivre, chacune décrivant un seul mouvement avec deux entiers $a_i, b_i$ ($1 \le a_i \neq b_i \le n$), signifiant qu'un étudiant qui se trouve actuellement dans la salle $a_i$ doit se déplacer vers la salle $b_i$, qui est reliée à $a_i$ par un couloir.

Vous n'avez pas besoin de minimiser la longueur de la solution.

Exemples

Entrée 1

2
5
1 2
1 3
2 4
2 5
2
1 4
1 5
7
1 2
2 3
2 4
4 6
6 5
6 7
3
1 4 5
3 4 7

Sortie 1

YES
4
1 3
4 2
2 5
3 1
NO

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#538Editorial Open集训队作业 解题报告 by 李秉霈Qingyu2026-01-02 21:54:26 Download
#184EditorialOpen题解jiangly2025-12-12 23:58:16View

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.