Nhiệm vụ
Viết chương trình, bằng ngôn ngữ bạn chọn, đọc các dòng đầu vào từ đầu vào tiêu chuẩn cho đến EOF, sau đó ghi chúng vào đầu ra tiêu chuẩn theo thứ tự ASCII, tương tự như sort
chương trình dòng lệnh. Một ví dụ ngắn, không khéo léo trong Python là:
import sys
for line in sorted(sys.stdin):
print(line.rstrip('\n'))
Phần lót tay
Tương tự như Cuộc chiến hệ điều hành , mục tiêu của bạn là chứng minh rằng nền tảng ưa thích của bạn là tốt hơn, bằng cách chương trình của bạn cố tình chạy chậm hơn nhiều trên nền tảng cạnh tranh. Vì lợi ích của cuộc thi này, một nền tảng của Google bao gồm bất kỳ sự kết hợp nào của:
- Bộ xử lý
- Kiến trúc (x86, Alpha, ARM, MIPS, PowerPC, v.v.)
- Nhân chứng (64 bit so với 32 bit so với 16 bit)
- Lớn so với ít endian
- Hệ điều hành
- Windows so với Linux so với Mac OS, v.v.
- Các phiên bản khác nhau của cùng một hệ điều hành
- Ngôn ngữ thực hiện
- Các nhà cung cấp trình biên dịch / trình thông dịch khác nhau (ví dụ: MSVC ++ so với GCC)
- Các phiên bản khác nhau của cùng một trình biên dịch / trình thông dịch
Mặc dù bạn có thể đáp ứng các yêu cầu bằng cách viết mã như:
#ifndef _WIN32
Sleep(1000);
#endif
Một câu trả lời như vậy không nên được nâng cao. Mục tiêu là phải tinh tế. Lý tưởng nhất là mã của bạn trông giống như hoàn toàn không phụ thuộc vào nền tảng. Nếu bạn làm có bất kỳ #ifdef
báo cáo (hoặc điều kiện dựa trên os.name
hoặc System.Environment.OSVersion
hoặc bất kỳ), họ cần phải có một sự biện minh hợp lý (dựa trên một lời nói dối, tất nhiên).
Bao gồm trong câu trả lời của bạn
- Mật mã
- Nền tảng yêu thích của bạn và các nền tảng khác của bạn.
- Một đầu vào để kiểm tra chương trình của bạn.
- Thời gian chạy trên mỗi nền tảng, cho cùng một đầu vào.
- Một mô tả về lý do tại sao chương trình chạy rất chậm trên nền tảng không thuận lợi.