Bir Yorum Ben sohbet yapılmış ve ardından gelen konuşma bu zorluğu yapmak bana ilham verdi.
Buradaki baş harflerin tek bahsettiği ben miyim? Hepimiz golf oynamaktan bahsediyoruz. MB, D-nob ve ... O.
Eğer "CH" olarak biliniyorsam, o zaman herkesin de baştaki bir takma adı olması gerektiğini düşünüyorum.
İşte oynayacağınız üne göre en iyi 100 Programlama Bulmacaları ve Code Golf kullanıcılarının listesi:
Martin Büttner
Doorknob
Peter Taylor
Howard
marinus
Dennis
DigitalTrauma
David Carraher
primo
squeamish ossifrage
Keith Randall
Ilmari Karonen
Quincunx
Optimizer
grc
Calvin's Hobbies
ugoren
Mig
gnibbler
Sp3000
aditsu
histocrat
Ventero
xnor
mniip
Geobits
J B
Joe Z.
Gareth
Jan Dvorak
isaacg
edc65
Victor
steveverrill
feersum
ace
Danko Durbić
xfix
PhiNotPi
user23013
manatwork
es1024
Joey
daniero
boothby
nneonneo
Joey Adams
Timwi
FireFly
dansalmo
grovesNL
breadbox
Timtech
Flonk
algorithmshark
Johannes Kuhn
Yimin Rong
copy
belisarius
professorfish
Ypnypn
trichoplax
Darren Stone
Riot
ProgramFOX
TheDoctor
swish
minitech
Jason C
Tobia
Falko
PleaseStand
VisioN
leftaroundabout
alephalpha
FUZxxl
Peter Olson
Eelvex
marcog
MichaelT
w0lf
Ell
Kyle Kanos
qwr
flawr
James_pic
MtnViewMark
cjfaure
hammar
bitpwner
Heiko Oberdiek
proud haskeller
dan04
plannapus
Mr Lister
randomra
AShelly
ɐɔıʇǝɥʇuʎs
Alexandru
user unknown
( bu nasıl anladım )
Meydan okuma
Dizelerin listesini alan ve minimal, benzersiz, ilke dayalı takma adların dizelerinin listesini çıkaran, listenin başlangıcına daha yakın olanları tercih eden bir program veya işlev yazın.
Bu yöntemi, takma adları oluşturmak için verilen sıradaki listedeki S dizelerine uygulayın:
- İşlemdeki tüm boşlukları kaldırarak S'yi boşluklarla ayrılmış kelimelere ayırın.
- S kelimelerinin ilk harflerinin dizgisinin boş olmayan öneklerini en kısadan en uzun zamana kadar listeleyin.
örneğinJust Some Name
→J
,JS
,JSN
- Bu listede, S için takma ad olarak önceden seçilen bir takma adla aynı olmayan ilk öğeyi seçin. Takma ad seçildiyse, 4. adıma geçin.
ÖrneğinJust Some Name
, ilk dizge olsaydı ,J
takma ad olduğu garanti edilir. - Önekleri tekrar listeleyin, ancak bu kez ilk kelimenin ikinci harfini doğal yerine ekleyin.
örneğinJust Some Name
→Ju
,JuS
,JuSN
- Benzersiz bir takma ad bulunursa, bu liste için 3. adımdakilerle aynı işlemi yapın.
- Bu işlemi ilk kelimenin kalan harfleriyle, sonunda ikinci kelimeye harfleri ekleyerek, sonra üçüncü ve benzeri şeyleri, benzersiz bir takma ad bulunana kadar tekrarlayın.
mesela burada listelenen ilk benzersiz dize takma olacaktır:
Jus
,JusS
,JusSN
Just
,JustS
,JustSN
Just
,JustSo
,JustSoN
(noto
sonra eklenmediJust
)
Just
,JustSom
,JustSomN
Just
,JustSome
,JustSomeN
Just
,JustSome
,JustSomeNa
Just
,JustSome
,JustSomeNam
Just
,JustSome
,JustSomeName
Sonunda, tüm giriş dizeleri benzersiz bir takma adla bitmelidir (dizgeyle aynı olabilir). Bu yöntemi kullanarak giriş dizelerinin hiçbirinin aynı takma adla eşleşmeyeceğini varsayabilirsiniz.
Örnek
Hatamı düzeltmek için güncellendi!
Giriş için
Martin Buttner
Doorknob
Peter Taylor
Howard
marinus
Dennis
DigitalTrauma
David Carraher
Martin Bitter
Martin Butter
Martin Battle
Martini Beer
Mart Beer
Mars Bar
Mars Barn
takma isimler
M
D
P
H
m
De
Di
DC
MB
Ma
MaB
Mar
MarB
Mars
MarsB
ayrıntılar
- Girdi, bir dosyadan (satır başına bir ad) veya stdin / komut satırı aracılığıyla bir defada bir ad veya dizelerin bir listesinin işlev argümanı olarak veya adlar arasında newlines içeren tek bir dizenin işlev argümanı olabilir.
- Çıktı stdout'a (satır başına bir takma ad) yazdırılmalı veya işlev tarafından dizelerin bir listesi olarak veya takma isimler arasında yeni satırlara sahip bir dize olarak döndürülmelidir.
- İdeal olarak programlar, dışındaki karakterleri içeren isimler için çalışacaktır. satır sonlandırıcılar . Ancak, tüm adların yalnızca yazdırılabilir ASCII içerdiğini varsayabilirsiniz . (PPCG adları yok.)
- Sadece normal boşluk karakteri sözcük ayırıcı olarak sayılır. Önde gelen ve sondaki boşluklar göz ardı edilebilir.
puanlama
Bayt cinsinden en kısa gönderme kazanır. Tiebreaker en erken gönderilen cevaba gider.