Khi em bé mở miệng, chúng không chỉ phun ra tiếng vô nghĩa. Họ thực sự đang nói chuyện trong một mật mã chứng minh người lớn rất tiên tiến ...
Mật mã Baby-talk
Khi bé nói chuyện, nó có thể trông giống như gogooa gagooook aagaaoooy
Mỗi phần tách biệt một không gian đại diện cho một ký tự (vì vậy ví dụ trên đại diện cho 3 ký tự).
Để giải mã một phần, chúng ta phải đếm số lượng As và Os. Tuy nhiên, chúng tôi chỉ tính những người liền kề với một nguyên âm khác. Ví dụ: A trong 'gag' sẽ không được tính, nhưng cả A và O trong 'gaog' sẽ.
Đếm ví dụ trên sẽ như thế này:
Section | Num Os | Num As
gogooa | 2 | 1
gagooook | 4 | 0
aagaaoooy | 3 | 4
Sau đó, chúng tôi sử dụng các giá trị này để chuyển đổi đầu vào thành bản rõ trên hình vuông Polybius. Đây là một đại diện 5x5 của bảng chữ cái tiếng Anh, bỏ qua 'J' (xin lưu ý rằng, trong quy tắc đếm bé, nói 0 áp dụng cho bảng):
0 1 2 3 4
0 A B C D E
1 F G H I K
2 L M N O P
3 Q R S T U
4 V W X Y Z
Sử dụng số lượng Os làm cột và số lượng Như là hàng, chúng tôi tìm thấy mỗi ký tự đại diện cho mỗi phần:
Section | Num Os | Num As | Character
gogooa | 2 | 1 | (2,1) -> H
gagooook | 4 | 0 | (4,0) -> E
aagaaoooy | 3 | 4 | (3,4) -> Y
Điều đó cho chúng tôi biết rằng đứa bé chỉ đang nói "HEY".
Lưu ý :
- Nếu một phần đại diện cho một ký tự có nhiều hơn 4 As hoặc Os, hãy bỏ qua các phần bổ sung, vì 4 là giá trị tối đa trên bảng. - Đối với nhiệm vụ này, Y không phải là nguyên âm - chỉ có A, E, I, O và U.
Các thách thức
Nhiệm vụ của bạn là tạo ra một chương trình đầy đủ , bao gồm một đầu vào, một từ trong tiếng trẻ con và in nó trong bản rõ.
- Chương trình của bạn phải có thể lấy đầu vào bằng chữ hoa, chữ thường và kết hợp cả hai.
- Đầu vào sẽ chỉ chứa các chữ cái bảng chữ cái ASCII (AZ và az), với các khoảng trống để phân cách các từ bé.
- Văn bản đầu ra có thể trong mọi trường hợp.
- Bạn nên lấy đầu vào từ
STDIN
và in bản rõ trênSTDOUT
. Nếu ngôn ngữ của bạn không có những thứ này, hãy sử dụng tương đương gần nhất. - Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng - nhưng mọi giải pháp đều được hoan nghênh.
Các trường hợp thử nghiệm
'GLOOG KAKAAOOO ARGOOO OOOOOGUGUU' -> CODE
'oaka pooopaa gaau augu' -> GOLF
'Aoao U oOOAoa oaoAoo aoAoAOa' -> NAPPY
'GUG gAGaA gOougOou' -> ALE
'OOaGOG GoGOOoGoU gAA bLAA GOUGoOUgAIGAI' -> HELLO
.toUpperCase()
cuộc gọi chức năng tương tự, không phải là một thách thức thực sự kích thích
gogooa
có 2 o? Và làm thế nào để gagooook
có 0 a?
FAG
: P
'GUG gAGaA gOougOou' -> 'ALE'
Em bé uống bia? : D