Si vous avez déjà essayé d'ajouter des étiquettes à un tracé très dense, vous vous rendrez compte que parfois les étiquettes se chevauchent, ce qui les rend difficiles à lire. Nous allons faire quelque chose de similaire mais en 1D.
L'entrée sera une séquence de (label, x-coordinate)
paires et la sortie sera le résultat du dessin de chaque point et étiquette, dans l'ordre donné. Un astérisque *
représentant le point doit être placé à la coordonnée x donnée et l'étiquette doit suivre. Tous les caractères existants seront remplacés.
Par exemple, si l'entrée était
Hello 0
World 8
Fizz 3
Buzz 5
PPCG 16
X 9
Ensuite, ce qui se passerait:
*Hello
*Hello *World
*He*Fizz*World
*He*F*Buzzorld
*He*F*Buzzorld *PPCG
*He*F*Buz*Xrld *PPCG
La ligne finale doit ensuite être sortie.
Règles d'E / S
L'entrée peut être constituée de n'importe quel nombre de paires. Chaque étiquette se composera uniquement de lettres majuscules et minuscules, et les longueurs d'étiquette seront au plus 127 caractères. Chaque coordonnée x sera comprise entre 0 et 127 inclus.
L'entrée peut être dans n'importe quel format de liste ou de chaîne pratique de sorte que les paires soient sans ambiguïté et que les étiquettes / coordonnées x alternent dans l'entrée. Par exemple, un format comme
[("Hello", 0), ("World", 8) ...]
ou[0 "Hello" 8 "World" ...]
est très bien. Cependant, vous ne pouvez pas supposer deux listes distinctes d'étiquettes et de coordonnées x.Les fonctions et les programmes complets sont tous deux corrects.
Tout point non couvert par une étiquette doit être représenté par un espace. Cependant, il peut ne pas y avoir d'espaces extérieurs de début ou de fin en dehors d'une seule nouvelle ligne de fin facultative.
Exemples
Contribution:
OneLabel 10
Sortie:
*OneLabel
Contribution:
Heathrow 0
Edinburgh 2
London 4
Liverpool 6
Oxford 8
Sortie:
*H*E*L*L*Oxfordl
Contribution:
alpha 20
beta 4
gamma 57
delta 3
epsilon 22
zeta 32
eta 53
theta 27
Sortie:
*delta *a*epsi*thetazeta *eta*gamma
Contribution:
abc 5
d 5
abc 10
ABCDEFGHIJKLMNOPQRSTUVWXYZ 127
Sortie:
*dbc *abc *ABCDEFGHIJKLMNOPQRSTUVWXYZ
Notez que les étiquettes et / ou les coordonnées x peuvent être répétées.