Les acides aminés – Qualification 2010

Niveau 2

Énoncé

Une séquence d'ADN sera une suite finie constituée de lettres dans l'ensemble {A, T, G, C}. Lors de la traduction (simplifiée !) d'une séquence d'ADN en suite d'acides aminés, chaque groupement de trois nucléotides de la séquence d'ADN est transformé en acide aminé. Écrivez une fonction qui, étant donné une séquence d'ADN de longueur N et la table de traduction de taille M, renvoie la suite d'acides aminés correspondante. On assure que tout le brin d'ADN pourra être traduit, que N est multiple de 3, et que la table de traduction est correcte.

Contraintes

  • 1 <= N <= 20000
  • 1 <= M <= 64

Entrée

  • Sur la première ligne, l'entier N.
  • Sur la deuxième ligne, l'entier M.
  • Sur les M lignes suivantes, la table de traduction : sur chaque ligne, une séquence de trois nucléotides (en lettres capitales) suivie d'une espace et de la traduction correspondante.
  • Sur la ligne M+3, la séquence d'ADN de longueur N.

Sortie

La suite d'acides aminés traduits depuis la séquence d'ADN grâce à la table de traduction. Deux acides aminés consécutifs devront être séparés par une espace.

Contraintes d'exécution

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

Exemples d'entrée/sortie

Exemple d'entrée
9
3
ATT isoleucine
TCC serine
GCC alanine
ATTGCCTCC
Exemple de sortie
isoleucine alanine serine
Exemple d'entrée
30
18
TTT phenylalanine
TTC phenylalanine
TTA leucine
TTG leucine
TCT serine
TCC serine
TCA serine
TCG serine
TAT tyrosine
TAC tyrosine
TGT cysteine
TGC cysteine
TGG tryptophane
CTT leucine
CTC leucine
CTA leucine
CTG leucine
GTT valine
TTTTGGCTTCTCCTATGTTACTCGTTAGTT
Exemple de sortie
phenylalanine tryptophane leucine leucine leucine cysteine tyrosine serine leucine valine