"YMCA" é uma música popular do disco do Village People que tem uma dança bem conhecida . Escreva o programa mais curto para emitir as letras maiúsculas "Y", "M", "C" e "A" sincronizadas com o coro da música.
Geralmente, uma letra é enviada em cada linha enviada para a saída padrão. Isso é principalmente para simplificar os programas sujeitos ao buffer de saída da biblioteca padrão C (a impressão de uma nova linha libera o buffer de saída); portanto, você pode omitir uma ou todas essas novas linhas, se essa omissão diminuir o seu programa.
Seu programa, iniciado ao mesmo tempo que a música, deve exibir a letra "Y" dentro de 0,125 s de cada um desses momentos após o início (em segundos; eu determinei isso no videoclipe postado no 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
As letras "M", "C" e "A" respectivamente vêm 0,930 s, 1,395 se 1,628 s após cada "Y". Para fins de teste, esses tempos relativos são convertidos em tempos absolutos, adicionando-os ao tempo do "Y" anterior.
Eu escrevi um programa de teste e um exemplo correspondente em C que assume que uma nova linha segue cada letra (embora isso não seja uma regra de concorrência). Ele foi escrito para Linux e não funcionará no Windows sem usar o Cygwin. Se você não puder testar seu envio usando o programa de teste, verifique pelo menos o envio no vídeo do YouTube .
Se o seu envio exigir que uma opção de linha de comando especial se comporte corretamente, essa opção de linha de comando será válida no cálculo de sua pontuação. No entanto, qualquer tempo de inicialização do intérprete não conta contra você e o programa de teste pode ser modificado para acomodar isso, se necessário.
Embora eu duvide que exista, devo dizer que é proibido o uso de uma função ou biblioteca de linguagem de programação projetada especificamente para esta tarefa.