Universal Cup Judging System

Universal Cup

Limite de temps : 5.0 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓
Statistiques

Petit P a reçu un arbre à $n$ nœuds, enraciné au nœud $1$, ainsi qu'une permutation $p_i$ de longueur $n$.

Pour chaque nœud $u$ de l'arbre, un nœud $v$ dans le sous-arbre de $u$ est dit important si et seulement si $u \ne v$ et la position de $v$ dans la permutation apparaît avant celle de $u$. Soit $d_u$ la distance minimale entre $u$ et n'importe quel nœud important (ou $d_u = -1$ s'il n'y a aucun nœud important pour $u$). La distance entre deux nœuds est définie comme le nombre d'arêtes sur le chemin simple qui les relie.

On vous donne l'arbre enraciné et le tableau $d_i$. Votre tâche consiste à trouver une permutation possible $p_i$ ; s'il existe plusieurs permutations valides, trouvez la plus petite dans l'ordre lexicographique.

Rappelons qu'une permutation $a$ est lexicographiquement plus petite qu'une permutation $b$ si et seulement s'il existe un indice $i$ ($1 \le i \le n$) tel que $a_i < b_i$ et pour tout $1 \le j < i$, $a_j = b_j$.

Entrée

La première ligne contient un entier $T$ ($1 \le T \le 5 \times 10^4$), représentant le nombre de cas de test.

Pour chaque cas de test, la première ligne contient un entier $n$ ($2 \le n \le 5 \times 10^5$), indiquant le nombre de nœuds dans l'arbre.

La deuxième ligne contient $n$ entiers $d_1, d_2, \dots, d_n$ ($-1 \le d_i \le n$).

Chacune des $n - 1$ lignes suivantes contient deux entiers $u$ et $v$ ($1 \le u, v \le n, u \ne v$), représentant une arête reliant les nœuds $u$ et $v$ dans l'arbre.

Il est garanti que la somme de $n$ sur l'ensemble des cas de test ne dépasse pas $5 \times 10^5$.

Sortie

Pour chaque cas de test, affichez une seule ligne contenant $n$ entiers positifs séparés par des espaces, représentant la plus petite permutation valide dans l'ordre lexicographique ; ou affichez $-1$ s'il n'existe aucune permutation valide.

Exemple

Entrée

3
5
-1 1 -1 -1 -1
1 2
2 3
2 4
1 5
10
0 1 1 1 -1 -1 -1 -1 -1 -1
5 3
4 3
8 4
4 2
4 1
2 10
9 5
5 7
6 1
10
2 -1 -1 -1 1 -1 -1 -1 -1 1
2 6
6 10
5 6
5 7
8 10
3 6
5 4
6 9
1 10

Sortie

1 3 2 4 5
-1
6 1 2 3 4 5 7 8 9 10

Note

Pour le premier cas de test, $p = [1, 2, 3, 4, 5]$ n'est pas valide car le nœud $2$ n'a aucun nœud important, donc $d_2 = -1 \ne 1$. De même, $p = [3, 4, 1, 5, 2]$ n'est pas valide car $d_1 = 2 \ne -1$.

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.