"YMCA" est une chanson disco populaire des Village People qui a une danse bien connue . Écrivez le programme le plus court pour produire les lettres majuscules "Y", "M", "C" et "A" synchronisées avec le refrain du morceau.
Généralement, une lettre va sur chaque ligne envoyée à la sortie standard. Il s'agit principalement de simplifier les programmes soumis à la mise en mémoire tampon de sortie de la bibliothèque standard C (l'impression d'une nouvelle ligne vide la mémoire tampon de sortie), vous pouvez donc omettre une ou toutes ces nouvelles lignes si une telle omission rendrait votre programme plus court.
Votre programme, qui démarre en même temps que la musique, doit sortir la lettre "Y" à 0,125 s de chacune de ces heures après le démarrage (en secondes; je les ai déterminées à partir du clip publié sur YouTube).
45.766 49.611 60.889
64.661 109.816 113.591
124.810 128.687 173.830
177.620 188.950 192.724
204.013 207.739 219.057
Les lettres "M", "C" et "A" viennent respectivement 0,930 s, 1,395 s et 1,628 s après chaque "Y". A des fins de test, ces temps relatifs sont convertis en temps absolus en les ajoutant au temps du "Y" précédent.
J'ai écrit un programme de test et un exemple de programme correspondant en C qui supposent qu'une nouvelle ligne suit chaque lettre (bien que ce ne soit pas une règle de concurrence). Il est écrit pour Linux et ne fonctionnera pas sur Windows sans utiliser Cygwin. Si vous ne pouvez pas tester votre soumission à l'aide du programme de test, vérifiez au moins votre soumission par rapport à la vidéo YouTube .
Si votre soumission nécessite une option de ligne de commande spéciale pour se comporter correctement, cette option de ligne de commande compte lors du calcul de votre score. Cependant, tout temps de démarrage de l'interpréteur ne compte pas pour vous et le programme de test peut être modifié pour l'adapter si nécessaire.
Bien que je doute qu'il existe, je dois dire que l'utilisation d'une fonction de langage de programmation ou d'une bibliothèque conçue spécifiquement pour cette tâche est interdite.