Фон
echo
Програма настільки акуратно. Ви можете сказати що завгодно, і це повторює ваші слова щоразу! Як класно це! Розчаровуючи, він повторює введення все відразу, незалежно від швидкості набору тексту, що не дуже реально. Треба буде це виправити.
Завдання
Ваша програма бере свій внесок від STDIN або найближчого еквівалента. Він повинен читати рядки від користувача один за одним, можливо, відображаючи деякий запит, поки вони не вводять порожній рядок. Після цього він надрукує рядки до STDOUT або найближчого еквівалента в тому ж порядку, як вони були задані. Останній (порожній) рядок не друкується, і в останньому надрукованому рядку не потрібно мати зворотного нового рядка.
Крім того, програма повинна зберігати інтервали часу між кожним рядком: якщо x
для введення рядка потрібні користувачеві секунди, x
для друку програми потрібні секунди. Це стосується і першого, і останнього рядків; порожній рядок не друкується, але програма все одно чекає перед завершенням.
Приклад
Ось приклад сесії з програмою. Усі дії, які не створюють текст, описані в дужках, а підказка (необов'язково) відображається як >
.
[begin program]
> fhtagn[enter; 1.48s passed since starting program]
> yum yum[enter; 3.33s passed since previous enter]
> so cool![enter; 2.24s passed since previous enter]
> [enter; 0.23s passed since previous enter]
[wait 1.48s]fhtagn
[wait 3.33s]yum yum
[wait 2.24s]so cool!
[wait 0.23s, then end program]
Без дій сеанс виглядає так:
> fhtagn
> yum yum
> so cool!
>
fhtagn
yum yum
so cool!
Правила та підрахунок балів
Час очікування повинен бути точним до 0,01 секунди (на практиці, якщо середній чоловік не може визначити різницю, у вас все добре). Виграє найменший кількість байтів, а стандартні лазівки заборонені. Якщо ваша мова має вбудовану функцію саме для цього завдання, ви можете не використовувати її.
yum yum
, яка була досить громіздкою.