Les Mots Justes – Qualification 2025

Niveau 3 ⋅ Validation weight: 20%

Énoncé

Dans les documents d'archives que Joseph Nageant avait étudié se trouve toute une section sur la langue parlée dans cette ville engloutie. Bien que Joseph connaisse déjà bien les règles de la langue, il lui arrive encore de commettre quelques erreurs de style.

Pour pouvoir mieux se fondre dans la masse, Joseph tente de perfectionner sa maîtrise de la langue...

Dans cette ville sous-marine, on parle des phrases uniquement composées de mots de 4 lettres, eux-mêmes composés de deux syllabes de deux lettres minuscules.

Pour former une phrase, on choisit deux listes de $N$ bigrammes (les syllabes de deux lettres), la première liste $A$ contenant les possibilités pour commencer un mot, et la seconde liste $B$ contenant les possibilités pour terminer un mot. Les deux listes peuvent contenir des syllabes dupliquées.

On construit alors la phrase comme une liste des $N \times N$ mots, représentant toutes les concaténations possibles d'une syllabe dans la liste $A$, et d'une syllabe dans la liste $B$. En clair, cette liste contient toutes les valeurs possibles de $A_i$ concaténé à $B_j$, pour $1 \leq i, j \leq N$ (la syllabe dans $A$ est toujours concaténée à gauche de la syllabe extraite de $B$).

Par exemple, si on prend comme syllabes de départ les bigrammes ab et ac, et qu'on considère comme syllabes d'arrivée les bigrammes cd et ce, cela forme la phrase (abcd, abce, accd, acce).

Une phrase est dite juste si tous les mots présents dans la phrase ont le même nombre d'occurrences :

  • Par exemple, la phrase (cdef, abcd, abcd, cdef) est une phrase juste, car tous les mots sont présents deux fois dans la phrase.
  • Au contraire, la phrase (abcd, abcd, bcde) n'est pas juste, car le mot abcd est présent deux fois, alors que le mot bcde n'est présent qu'une fois.

En une correction, Joseph peut soit :

  • Ajouter une occurrence du mot de son choix à la phrase, ou
  • Supprimer une occurrence du mot de son choix de la phrase.

Étant donnés les listes de syllabes $A$ et $B$, aidez Joseph à trouver le nombre minimal de corrections nécessaires pour rendre sa phrase juste.

Entrée

L’entrée contiendra :

  • Sur la première ligne, un entier : N, le nombre de syllabes dans chaque liste.
  • Sur les lignes suivantes, une liste de N éléments : A, les syllabes de début de mot.
    • Une ligne par élément de la liste : une chaine de 2 caractères.
  • Sur les lignes suivantes, une liste de N éléments : B, les syllabes de fin de mot.
    • Une ligne par élément de la liste : une chaine de 2 caractères.

Sortie

Afficher, sur une ligne, le nombre de corrections minimal pour rendre la phrase juste.

Contraintes

  • $1 \le N \le 20$
  • Les syllabes sont toujours composées de deux lettres minuscules. ([a-z]{2})

Contraintes de performance

  • $1 \le N \le 200\,000$

Contraintes d'exécution

Utilisation mémoire maximum
100000 kilo-octets
Temps d'exécution maximum
1000 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
3
pr
pr
no
ie
ix
ix
Exemple de sortie
3
Commentaire

La liste de syllabes de début utilisée est (pr, pr, no), tandis que la liste de syllabes de fin est (ie, ix, ix).

Avec ces deux listes de bigrammes, Joseph forme la liste de mots suivante :

        ie       ix       ix   
pr prie prix prix
pr prie prix prix
no noie noix noix

Les mots prie et noix sont présents deux fois dans la phrase, le mot noie est présent une seule fois, et le mot prix est présent quatre fois.

En supprimant deux occurrences de prix, et en ajoutant une occurrence du mot noie, on peut construire une phrase juste contenant deux occurrences de tous ces mots, en 3 corrections.

Une autre possibilité en 3 corrections serait de supprimer deux occurrences de prix, et également de supprimer l'unique occurrence de noie. La phrase résultante serait (prie, prix, prix, prie, noix, noix), qui est également juste.

Il n'est pas possible de rendre la phrase juste en moins de 3 corrections, la réponse est donc 3.

Exemple d'entrée
4
po
po
ro
ro
nd
se
ti
to
Exemple de sortie
0
Commentaire

Les syllabes de début sont (po, po, ro, ro), tandis que les syllabes de fin sont (nd, se, ti, to).

Avec ces deux listes de syllabes, Joseph forme la liste de mots suivante :

         nd       se       ti       to   
po pond pose poti poto
po pond pose poti poto
ro rond rose roti roto
ro rond rose roti roto

Vu que tous les mots sont déjà présents précisément deux fois dans la phrase, la phrase est d'ores et déjà juste. Il n'y a aucune correction à effectuer pour la rendre juste, la réponse est donc 0.