Lý lịch
Các echo
chương trình là rất gọn gàng. Bạn có thể nói bất cứ điều gì với nó, và nó lặp đi lặp lại lời nói của bạn một cách hoàn hảo, mọi lúc! Thật tuyệt làm sao! Thất vọng, nó lặp đi lặp lại tất cả đầu vào cùng một lúc, bất kể tốc độ gõ của bạn, điều này không thực tế lắm. Chúng tôi sẽ phải sửa nó.
Nhiệm vụ
Chương trình của bạn sẽ lấy đầu vào từ STDIN hoặc tương đương gần nhất. Nó sẽ đọc từng dòng từ người dùng, có thể hiển thị một số dấu nhắc, cho đến khi họ nhập một dòng trống. Sau đó, nó sẽ in các dòng thành STDOUT hoặc tương đương gần nhất, theo cùng thứ tự như chúng đã được đưa ra. Dòng cuối cùng (trống) không được in và dòng in cuối cùng không cần phải có một dòng mới.
Ngoài ra, chương trình sẽ bảo toàn các khoảng thời gian giữa mỗi dòng: nếu người dùng mất x
vài giây để nhập một dòng, sẽ mất x
vài giây để chương trình in. Điều này áp dụng cho các dòng đầu tiên và cuối cùng quá; dòng trống không được in, nhưng chương trình vẫn chờ trước khi kết thúc.
Thí dụ
Đây là một phiên ví dụ với chương trình. Tất cả các hành động không tạo ra văn bản được mô tả trong ngoặc và lời nhắc (tùy chọn) được hiển thị dưới dạng >
.
[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]
Không có hành động, phiên trông như thế này:
> fhtagn
> yum yum
> so cool!
>
fhtagn
yum yum
so cool!
Quy tắc và chấm điểm
Thời gian chờ phải chính xác trong vòng 0,01 giây (trong thực tế, nếu con người trung bình không thể nhận ra sự khác biệt, bạn vẫn ổn). Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép. Nếu ngôn ngữ của bạn có chức năng tích hợp cho chính xác nhiệm vụ này, bạn không thể sử dụng nó.
yum yum
, nó khá cồng kềnh.