Önemli sistem bir olduğunu anımsatıcı daha kolay hafızaya alınabilir, böylece kelimelere sayılar dönü cihazı.
Kelimelerin fonetik olarak nasıl ses çıkardığına dayanır, ancak işleri meydan okuma için basit tutmak için sadece kelimelerin nasıl yazıldığından endişeleniriz. Bu, bazı yanlış dönüşümlerin olacağı anlamına gelir, ancak sorun değil.
Basitleştirilmiş ana sistemimizi kullanarak bir sayıyı kelimeye dönüştürmek için:
- Her birini veya
0
ile değiştirin . (Bazıları olabilir ve bazıları olabilir . Aynı şey aşağıdadır.)s
z
s
z
- Her değiştirin
1
ilet
veyad
yath
.- Her değiştirin
2
ilen
.- Her değiştirin
3
ilem
.- Her değiştirin
4
iler
.- Her değiştirin
5
ilel
.- Her değiştirin
6
ilej
veyash
yach
.- Her birini veya veya veya
7
ile değiştirin .k
c
g
q
- Her birini veya
8
ile değiştirin .f
v
- Her birini veya
9
ile değiştirin .p
b
- Mümkünse
aehiouwxy
gerçek bir İngilizce kelime oluşturmak için harfleri istediğiniz miktarda ekleyin . Bunun tek istisnası, bir veya öğesinden sonra eklenmeyebilir .
h
s
c
Sayı aslında 0-9 basamaklarının herhangi bir dizesi olabilir (ondalık sayı, virgül veya işaret yok).
Sözcük yalnızca az küçük harfleri içerebilir.
Örnekler
Sayı 32
olarak dönüştürülmesi gerekir ?m?n?
nerede, ?
harfler yapılmış herhangi sonlu bir dize temsil aehiouwxy
(bir dize serbest Monoid İsterseniz). Gerçek bir İngilizce kelimenin içine yapılmış olabilir bu birçok yolu vardır: mane
, moon
, yeoman
vb
Sayı veya 05
olarak dönüştürülebilir . Bazı olasılıklar vardır , ve . Kelimeye izin verilmez, çünkü sonra yerleştirilmez ; yanlış okundu .?s?l?
?z?l?
easily
hassle
hazel
shawl
h
s
65
Meydan okuma
0-9 arasındaki rakamlardan oluşan bir diziyi alan ve basitleştirilmiş ana sistem anımsatıcısı kullanılarak dönüştürülebileceği tüm kelimeleri bulan bir program veya işlev yazın.
Programınızın, tüm "gerçek" İngilizce kelimelerin ne olduğunu tanımlayan bir kelime listesi metin dosyasına erişimi vardır. Bu dosyanın her satırında bir küçük harf az sözcüğü vardır ve isteğe bağlı olarak son satırsonu olduğunu varsayabilirsiniz. İşte test için kullanabileceğiniz gerçek kelimelerin listesi. Bu kelime listesi dosyasının çağrıldığını f
(veya daha uzun bir şeyle) ve uygun herhangi bir dizinde bulunduğunu varsayabilirsiniz .
35 baytlık bir ceza için (puanınıza 35 ekleyin), kelime listesinin dizeler listesi olarak zaten bir değişkene yüklendiğini varsayabilirsiniz. Bu esas olarak dosyaları okuyamayan diller içindir, ancak herhangi bir gönderme bundan yararlanabilir.
Programınız , sözcük listesindeki giriş numarasının dönüştürülebileceği tüm sözcükleri çıkarmalıdır. Stdout (veya benzeri), her satıra bir tane (isteğe bağlı son satırsonu ile) olarak yazdırılmalıdır veya bir işlev yazmayı seçtiyseniz, dizelerin listesi olarak döndürülebilirler. Sözcük listesi mutlaka alfabetik olarak yerleştirilmiş değildir ve çıktının da olması gerekmez.
Olası bir kelime yoksa çıktı (veya liste) boş olacaktır. Boş dize girilirse çıktı da boş olur.
Stdin, komut satırı veya bir işleve dize bağımsız değişkeni olarak girdiyi alın. Sözcük listesi veya dosya adı girişin parçası değil, yalnızca rakam dizesi olmalıdır.
Sözcük listesindeki sözcüklerle değil, sözcük listesindeki yalnızca tek sözcüklerle eşleşiyorsunuz. Kelime noon
muhtemelen bunun sonuçlarından biri olacaktır 22
, ancak kelime dizisi no one
olmaz.
Test Durumları
Diyelim ki bu kelime listesi:
stnmrljkfp
zthnmrlshqfb
asatanamaralajakafapa
aizxydwwwnhimouooraleshhhcavabe
zdnmrlshcvb
zdnmrlshchvb
sthnmrlchgvb
shthnmrlchgvb
bob
pop
bop
bopy
boppy
Girdi 0123456789
dışındaki tüm uzun kelimeleri vermeli zdnmrlshchvb
ve shthnmrlchgvb
:
stnmrljkfp
zthnmrlshqfb
asatanamaralajakafapa
aizxydwwwnhimouooraleshhhcavabe
zdnmrlshcvb
sthnmrlchgvb
Girdi 99
şunları vermelidir:
bob
pop
bop
bopy
(Çıktı kelimeleri herhangi bir sırada olabilir.)
puanlama
Bayt cinsinden en kısa gönderim kazanır. Tiebreaker ilk gönderilen gönderir.
Şık ilgili site: numzi.com .