Bebekler ağızlarını açtığında, sadece saçma sapan yaymazlar. Aslında son derece gelişmiş, yetişkinlere uygun bir şifre ile konuşuyorlar ...
Bebek-Konuşma Şifresi
Bir bebek konuştuğunda şöyle görünebilir: gogooa gagooook aagaaoooy
Her bir boşlukla ayrılmış bölüm bir karakteri temsil eder (bu nedenle yukarıdaki örnek 3 karakteri temsil eder).
Bir bölümü deşifre etmek için içerdiği As ve Os sayısını saymalıyız. Ancak, sadece başka bir sesli harf bitişik olanları sayarız. Örneğin, 'gag'daki' A sayılmaz, ancak 'gaog'daki' hem A hem de O sayılır.
Yukarıdaki örneği saymak şöyle olacaktır:
Section | Num Os | Num As
gogooa | 2 | 1
gagooook | 4 | 0
aagaaoooy | 3 | 4
Daha sonra bu değerleri girişi bir Polybius karesinde düz metne dönüştürmek için kullanırız. Bu, 'J' işaretini bırakmayan İngilizce alfabenin 5x5'lik bir temsilidir (lütfen, bebek konuşmasında 0 sayım kurallarının masaya uygulandığını unutmayın):
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
Os sayısını sütun olarak ve satırdaki As sayısını kullanarak her bölümün hangi karakteri temsil ettiğini bulduk:
Section | Num Os | Num As | Character
gogooa | 2 | 1 | (2,1) -> H
gagooook | 4 | 0 | (4,0) -> E
aagaaoooy | 3 | 4 | (3,4) -> Y
Hangi bize bebeğin sadece "HEY" dediğini söylüyor
Notlar :
- Bir karakteri temsil eden bölüm 4 As veya Os'tan büyükse, ekstraları dikkate almayın, çünkü 4 tablodaki maksimum değerdir. - Bu görev için, Y ünlü değil - sadece A, E, I, O ve U.
Meydan okuma
Göreviniz bir oluşturmaktır tam bir girdi, bebek konuşmak bir kelime alır programı ve düz metin olarak yazdırır.
- Programınız büyük harf, küçük harf ve her ikisinin bir karışımı olarak girdi alabilmelidir.
- Girdi yalnızca ASCII alfabesinde geçerli olan harfleri (AZ ve az) içerecek, bebek sözcüklerini ayırmak için tek boşluk bırakacaktır.
- Çıktı metni her durumda olabilir.
- Girdiyi almalı
STDIN
ve düz metin yazdırmalısınızSTDOUT
. Dilinizde bu yoksa, en yakın eşdeğeri kullanın. - Bu kod golf , yani bayttaki en kısa kod kazanır - ancak herhangi bir çözüm memnuniyetle karşılanmaktadır.
Test Kılıfları
'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()
, aslında teşvik edici bir zorluk değil, benzer bir işlev çağrısı eklemek.
gogooa
2 o nasıl var? Peki gagooook
0 a nasıl ?
FAG
: P
'GUG gAGaA gOougOou' -> 'ALE'
Bebekler bira içer mi? : D