Giriş
Biz - özellikle de aramızdaki meraklılar, hayran olma eğiliminde olan - hepimiz bu eski Far Side karikatürünü hatırlıyorum :
Açıkçası, Profesör Schwartzman, kullanmaya icadı koymadan önce programlama becerilerinden biraz daha fazla yararlanabilirdi. Ama mümkün olduğu kadar az bayt kullanarak ... kendiniz çoğaltabilirsiniz?
Giriş Özellikleri
Köpek seslerini uygun şekilde tonlanmış "Hey" lere çeviren bir komut dosyası oluşturmalısınız. Bu saf kod golf; en düşük bayt sayısı kazanır.
Girişiniz aşağıdaki belirteçlerin bir kombinasyonundan oluşacaktır:
Bark
,Baark
,Baaark
,Baaaark
, ... (olduğunu,B*rk
en az 1 olana
yıldız işareti yerine)Woof
,Wooof
,Woooof
, ... (W*f
en azından ile 2o
s yıldız işareti yerine)Grr
,Grrr
,Grrrr
, ..., (G
en azından, ardından 2r
s)- Girdide herhangi bir yerde meydana gelebilecek herhangi bir sayıda
.
(nokta),!
(ünlem işareti) ve / veya?
(soru işareti) karakteri
Yine, Woof
tabanlı ve Grr
tabanlı belirteçlerin daima en az iki o
saniye ve r
s gerektirdiğini unutmayın ; Wof
ve Gr
vardır değil geçerli belirteçleri.
Bir jetonun ne kadar süre olabileceği konusunda bir sınır yoktur (örneğin, bir jetonda kaç tekrarlanan a
olabilir Bark
); bununla birlikte, kod çözücünüzün yalnızca toplamda 10a
sn, o
sn veya r
sn olan giriş belirteçleri için doğru şekilde çalışması gerekir .
Çıkış özellikleri
Schwartzman'ın tasarımına sadık kalarak, köpek dekoder programınız aşağıdaki şekilde çıktı metnine dönüştürmelidir:
Bark
,Woof
veGrr
halineHey
;Baark
,Wooof
veGrrr
halineHeyy
;Baaark
,Woooof
veGrrrr
halineHeyyy
; vb.- Tüm
Bark
tabanlı belirteçler için,y
çıktıHey
temelli belirtecin içindekia
s sayısı, s sayısına eşit olmalıdır ; - Tüm
Woof
tabanlı belirteçler için,y
çıktıHey
temelli belirtecin içindeki s sayısı, s sayısından daha az olmalıdıro
; - Tüm
Grr
tabanlı belirteçler için,y
çıktıHey
temelli belirtecin içindeki s sayısı, s sayısından daha az olmalıdırr
; - Tüm noktalama işaretleri (
.
,,!
ve?
) değişmeden bırakılır.
Sadece s ve s y
için çıktıdan bir tane bırakmayı unutmayın ! 8 s'lik giriş , 8 s'lik eşleşen bir setle olacak . Ancak, 7 s ile , sadece olur .Woof
Grr
Baaaaaaaark?
a
Heyyyyyyyy?
y
Woooooooof?
Heyyyyyyy?
y
Yine, programınızın sınırsız büyüklükteki giriş belirteçleri için çalışmasını sağlayabilirsiniz, bu harika, ancak bu zorluğun amaçları için, programınız yalnızca 10'dan fazla tekrarlanan harfe sahip olmayan giriş belirteçleri için doğru çalıştığından emin olmak için kontrol edilecektir. .
Girişteki tüm Bark
-, Woof
- ve - Grr
temelli jetonların büyük harfle başlayacağı varsayılır. Bu nedenle, orada gerek kolu çevirme için Bark grrr
içine Hey heyy
veya benzer bir şey.
Örnek Girişler ve Çıkışlar
- Giriş:
Bark. Bark! Bark!!
- Çıktı:
Hey. Hey! Hey!!
- Giriş:
- Giriş:
Baaaaaark?
(altıa
s) - Çıktı:
Heyyyyyy?
(altıy
s)
- Giriş:
- Giriş:
Grrrrrrrr...
(sekizr
saniye) - Çıktı:
Heyyyyyyy...
( yediy
s)
- Giriş:
- Giriş:
?...!
- Çıktı:
?...!
- Giriş:
- Giriş:
Wooof Woof? Grrrr. Baaaark Grr!
- Çıktı:
Heyy Hey? Heyyy. Heyyyy Hey!
- Giriş: