Trước khi phát hiện dấu vân tay và xét nghiệm DNA, cảnh sát Anh đã sử dụng hệ thống nhân trắc học để xác định những kẻ phạm tội lặp lại. Một số bộ phận của cơ thể của tội phạm đã được đo và lưu trữ trong hồ sơ - những bộ phận này của cơ thể được cho là không thay đổi kích thước sau khi trưởng thành. Hệ thống này được gọi là bertillonnage .
Sơ đồ dưới đây cho thấy một hệ thống nộp đơn được cảnh sát sử dụng để truy cập các hồ sơ này một cách nhanh chóng.
Sơ đồ 1: Một hệ thống lưu trữ với các ngăn kéo được đánh số.
Lưu ý: nếu bạn không thể nhìn thấy hình ảnh, hãy thử gương imgur hoặc tự biên dịch nó .
Tủ hồ sơ bao gồm 81 ngăn kéo được đánh số. Mỗi ngăn chứa thẻ và mỗi thẻ có số đo các bộ phận cụ thể của cơ thể tội phạm:
- Độ dài của đầu họ (
H
) - Độ rộng của đầu của họ (
B
) - Chiều rộng của tai phải của họ (
E
) - Độ dài của ngón trỏ (
F
)
Mỗi phép đo được phân loại là nhỏ, trung bình hoặc lớn.
Ví dụ, ngăn kéo 56 chứa thẻ với các đặc điểm sau: H nhỏ, lớn B, trung bình E và F. nhỏ này có thể được ký hiệu bằng các chữ cái S
, M
và L
ở vị trí của nhỏ, vừa và lớn:
SH,LB,ME,SF
Lưu ý rằng kích thước chữ đi trước, sau đó đo là gì. Ngoài ra, một dấu chấm than !
có thể được đặt ở phía trước để gây ra tiêu cực:
!SH,LB,!ME,SF
Điều này biểu thị các thẻ có các đặc điểm sau: không nhỏ H, B lớn, không trung bình E và nhỏ F. Có bốn ngăn chứa các thẻ có các đặc điểm này - 58, 60, 61 và 63.
Nhiệm vụ của bạn là viết một chương trình, khi được cung cấp một chuỗi ký hiệu một số đặc điểm, sẽ xuất ra tất cả các ngăn chứa thẻ có các đặc điểm đó. Nếu không có ngăn kéo chứa thẻ với các đặc điểm nhất định, đầu ra 0
.
Dưới đây là một số mẫu đầu vào và đầu ra.
- Đầu vào:
SH,LB,ME,SF
Đầu ra:56
- Đầu vào:
!SH,LB,!ME,SF
Đầu ra:58,60,61,63
- Đầu vào:
SB,!MF,!LF
Đầu ra:1,2,3,4,5,6,7,8,9
- Đầu vào:
MH,!MH
Đầu ra:0
Đây là mã golf, vì vậy mục ngắn nhất sẽ thắng. Đặt câu hỏi trong các ý kiến nếu đặc điểm kỹ thuật không rõ ràng.