QOJ.ac

QOJ

时间限制: 2 s 内存限制: 256 MB 总分: 100

#896. Chevaux

统计

Big Horse est le Dieu des chevaux. Il possède $n$ sortes de chevaux différentes. Comme sa vue n'est pas très bonne, il ne peut pas distinguer les chevaux d'une même sorte.

Il souhaite maintenant organiser $m$ chevaux dans une file. Mais les chevaux sont si actifs qu'ils peuvent changer de position à leur guise. Cependant, Big Horse a remarqué que seuls deux chevaux adjacents peuvent échanger leur place, et cela ne peut se produire que si les deux sortes de chevaux sont amies. Comme les chevaux peuvent échanger leurs positions à tout moment, Big Horse considère deux files comme équivalentes si et seulement si l'une peut être obtenue à partir de l'autre par un nombre fini d'échanges.

Big Horse possède maintenant une file $a = (a_1, \dots, a_m)$ de chevaux. Il veut ajouter d'autres chevaux à gauche de la file. Cependant, Big Horse ne fait pas la différence entre la gauche et la droite. Il veut donc ajouter une file $b = (b_1, \dots, b_k)$ telle que $b$ commute avec $a$ : en d'autres termes, $b_1, \dots, b_k, a_1, \dots, a_m$ est équivalent à $a_1, \dots, a_m, b_1, \dots, b_k$. Cependant, le nombre de telles files $b$ peut être trop grand. Big Horse ne s'intéresse qu'aux files $b$ « minimales ». Plus précisément, il s'intéresse aux $b$ tels que :

  • $b$ commute avec $a$,
  • $b$ n'est pas équivalent à $c_1, \dots, c_{k'}, d_1, \dots, d_{k''}$ tel que $c$ commute avec $a$ et $d$ commute avec $a$,
  • $b$ est lexicographiquement le plus petit parmi toutes les files qui lui sont équivalentes.

Il a découvert qu'il existe au plus $n$ files minimales. Il vous demande de l'aider à les trouver.

Entrée

La première ligne contient un entier $n$ ($1 \le n \le 200$).

Suivent $n - 1$ lignes. Dans la $i$-ième de ces lignes, il y a $n - i$ entiers. Le $j$-ième entier de la $i$-ième ligne vaut 1 si un cheval de sorte $i$ peut échanger sa place avec un cheval de sorte $i + j$, et 0 sinon.

La ligne suivante contient un entier $m$ ($1 \le m \le 300\,000$).

La dernière ligne contient $m$ entiers $a_1, \dots, a_m$ : les sortes de chevaux dans la file ($1 \le a_i \le n$).

Sortie

Affichez les files minimales, une par ligne. Comme une file peut être trop longue, lorsque la file minimale est $b$, vous devez seulement imprimer la valeur de hachage $b_1 + b_2 \cdot (n + 1) + \dots + b_k \cdot (n + 1)^{(k-1)}$ modulo 998 244 353. Vous devez afficher les files minimales dans l'ordre lexicographique (triez-les avant de calculer le hachage).

Exemples

Entrée 1

3
1 1
0
5
2 1 3 2 3

Sortie 1

1
14

Remarque

Les deux files minimales dans l'exemple sont (1) et (2, 3).

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.