Đã đến mùa tựu trường! Vì vậy, đối với một công việc bán thời gian, bạn đang giúp đỡ tại thư viện của trường. Vấn đề là, người thủ thư đứng đầu thậm chí chưa bao giờ nghe thấy từ "Dewey Decimal", chứ chưa nói đến việc thực hiện hệ thống đó. Thay vào đó, hệ thống phân loại đang sử dụng đã phát triển "hữu cơ" khi thư viện đã mở rộng ...
Trong nỗ lực giữ sự tỉnh táo của bạn, bạn đã chọn viết một chương trình để giúp bạn sắp xếp sách khi chúng được trả lại, vì khốn cho bạn nếu bạn sắp xếp sách sai. (Thủ thư đứng đầu RẤT nghiêm ngặt.)
Đầu ra đầu vào
- Đầu vào sẽ là một danh sách các tiêu đề sách (giả thuyết), mỗi tiêu đề trên mỗi dòng, từ STDIN / ngôn ngữ tương đương.
- Bạn có thể giả sử không quá 100 cuốn sách nhập vào một lúc (bạn chỉ có thể mang theo rất nhiều thư viện cùng một lúc).
- Sách có thể có nhiều từ trong tiêu đề của chúng và những từ này có thể được phân tách bằng dấu cách hoặc dấu chấm câu khác (ví dụ: dấu hai chấm
:
, dấu gạch ngang-
, v.v.). - Để dễ tính toán, giả sử tất cả các tiêu đề là UTF-8.
Đầu ra là cùng một tiêu đề, được sắp xếp theo các quy tắc dưới đây, một lần nữa trên mỗi dòng, tương đương với STDOUT / ngôn ngữ.
Các quy tắc sắp xếp
Sách được sắp xếp số lượng dựa trên giá trị ký tự trung bình của chúng (nghĩa là giá trị ký tự tích lũy chia số lượng ký tự trong tiêu đề sách), được tính theo các quy tắc sau:
- Tất cả các ký tự được tính để xác định số lượng ký tự trong một tiêu đề.
- Chữ thường được tính theo vị trí của chúng trong bảng chữ cái. (a = 1, b = 2, ... z = 26)
- Nếu tiêu đề chứa chữ in hoa, chúng được tính bằng 1,5 giá trị chữ thường của chúng (A = 1,5, B = 3, ... Z = 39). ("Chữ in hoa rất quan trọng!", Thủ thư nói.)
- Mỗi dấu chấm / ký hiệu trong danh sách này
!@#$%^&*()-=_+[]\{}|;':",./<>?~
được tính -1 từ giá trị tích lũy trước khi tính trung bình. ("Tiêu đề hoành tráng thì không!") - Nếu tiêu đề chứa một số, được viết bằng chữ số Ả Rập , số đó sẽ bị trừ khỏi giá trị trung bình trước khi sắp xếp. Nhiều chữ số liên tiếp được coi là một số (ví dụ:
42
sẽ trừ 42, không trừ 4 và sau đó trừ 2). Các chữ số riêng lẻ không được tính cho giá trị tích lũy (nghĩa là mỗi chữ số đóng góp 0), nhưng DO tính cho số lượng ký tự. Lưu ý rằng điều này có thể dẫn đến một giá trị âm và nên được xử lý thích hợp. (Có tin đồn, người thủ thư đã phải lòng một người hướng dẫn toán học trong vài năm nay.) - Nếu tiêu đề chứa hai từ riêng biệt bắt đầu bằng một
R
, cuốn sách sẽ có điểm "vô cực" và được đổ vào một đống ở góc (nghĩa là được sắp xếp ngẫu nhiên ở cuối danh sách). (Người thủ thư đã từng bị một người có những chữ cái đầu đó bỏ rơi, hoặc bạn đã nghe thấy.) - Không gian không được tính cho giá trị ký tự tích lũy (nghĩa là chúng đóng góp 0), nhưng DO đóng góp vào số lượng ký tự trong một tiêu đề.
- Các ký tự không phù hợp với các quy tắc trên (ví dụ: a
ÿ
) không được tính cho giá trị ký tự tích lũy (nghĩa là chúng đóng góp 0), nhưng DO đóng góp vào số lượng ký tự trong một tiêu đề. - Ví dụ: một cuốn sách giả thuyết
ÿÿÿÿÿ
sẽ có "điểm"(0+0+0+0+0) / 5 = 0
, nhưng một cuốn sách giả thuyếtÿÿyÿÿ
sẽ có "điểm"(0+0+25+0+0) / 5 = 5
. - Hai cuốn sách xảy ra để "ghi điểm" giống nhau có thể là Đầu ra theo thứ tự bạn chọn. (Dù sao họ cũng ở trên cùng một kệ)
Ví dụ đầu vào 1
War and Peace
Reading Rainbow: The Best Unicorn Ever
Maus
Home for a Bunny
Ví dụ Kết quả 1 (có "điểm" trong ngoặc đơn để hiển thị lý do - bạn không cần phải in chúng)
War and Peace (8.5)
Home for a Bunny (10.125)
Maus (15.125)
Reading Rainbow: The Best Unicorn Ever (infinity)
Ví dụ đầu vào 2
Matthew
Mark
Luke
John
Revelations
Ví dụ Kết quả 2 (có "điểm số" trong ngoặc đơn để hiển thị lý do - bạn không cần phải in chúng)
Mark (12.375)
John (13)
Revelations (13.545454...)
Luke (13.75)
Matthew (~13.786)
Ví dụ đầu vào 3
42
9 Kings
1:8
7th
Ví dụ Kết quả 3 (có "điểm số" trong ngoặc đơn để hiển thị lý do - bạn không cần phải in chúng)
42 (-42)
1:8 (-9.3333...)
9 Kings (~0.36)
7th (2.3333...)
Những hạn chế khác
- Đây là Code-Golf, bởi vì bạn cần giữ bí mật chương trình khỏi con mắt luôn theo dõi của người thủ thư, và chương trình càng nhỏ thì càng dễ che giấu.
- Hạn chế kẽ hở tiêu chuẩn áp dụng
- Đừng để người thủ thư bắt bạn nghỉ việc bằng cách dành toàn bộ thời gian cho PPCG.