Kaç eyaleti sınırlandırıyorum?


20

Ben küçükken, yatağımın karşısında duvarımda ABD'nin büyük bir haritası vardı. Sıkıldığımda o haritaya bakıp bir şeyler düşünürdüm. Dört renk teoremi gibi ya da en çok diğer devleti sınırlayan devlet. Saymak için bana biraz beyin gücü kazandırmak için, bir zaman makinesi icat edeceksiniz ve girişin kaç eyaleti sınırladığını söyleyeceksiniz. Zaman titiz olduğundan, bunun mümkün olduğunca kısa olması gerekir.

Görev

Bu sayfada bulunan 50 ABD eyaletinden biri, tam adı veya posta kısaltmasıyla ( archive.org mirror ) verildiğinde, sınırladığı eyalet sayısını döndürün. Aşağıda, tam durum adları için tüm girdilerin, bu web sitesinde bulunan bitişik durumların sayısıyla eşleştirilmesidir .

Missouri, Tennessee -> 8
Colorado, Kentucky -> 7
Arkansas, Idaho, Illinois, Iowa, Nebraska, New York, Oklahoma, Pennsylvania, South Dakota, Utah, Wyoming -> 6
Arizona, Georgia, Massachusetts, Michigan, Minnesota, Nevada, New Mexico, Ohio, Virginia, West Virginia -> 5
Alabama, Indiana, Kansas, Maryland, Mississippi, Montana, North Carolina, Oregon, Texas, Wisconsin -> 4
California, Connecticut, Delaware, Louisiana, New Hampshire, New Jersey, North Dakota, Rhode Island, Vermont -> 3
Florida, South Carolina, Washington -> 2
Maine -> 1
Alaska, Hawaii -> 0

Kurallar

  • Programınız tam durum adını veya posta kodunu işleyebilir - bir kombinasyon kullanamaz.
  • Girişin durumunu belirtebilirsiniz, ancak girişteki boşlukları kaldıramazsınız.
  • Washington, DC veya 50 eyaletten biri olmayan herhangi bir şeyle uğraşmak zorunda değilsiniz.
  • Yok sınırlanmıştır durumların sayısı değil , giriş durumunu kapsar.
  • Bu , bayt en kısa cevap kazanır.

Bunun en iyi sıkıştırmaya sahip olan veya sayı başına en iyi regex modelini bulan kişi olabileceğini bilsem de, bu cevaplardan çok fazla alırsam, ABD'nin bir haritasını oluşturan ve bunu kullanan bir cevaba ödül vereceğim Sınır durumlarının sayısını hesaplar.


11
inb4Mathematica Yerleşik
DJMcMayhem

@DJMcMayhem uh oh (ilk başta iyi geliyor, ancak güncellemeye bakın ...)
Stephen

@StepHen Oh hayır, atlandım! Ben şu anda bu dahil cevap cevap üzerinde çalışıyordu ...;)
notjagan 20:17


DC'yi halledebilir miyiz / lütfen sayımlarımıza dahil edebilir miyiz?
notjagan

Yanıtlar:


17

Jöle , 73 65 bayt

“U[“Ȥ“!÷2“®Ɓ⁵]StƁ}K“ʂÞiƬ¦.ÞrÆu“4œ(°fWg?Ʋd“Ɠ©“Œb‘i³OS%168¤$€Tµ’6L?

Çevrimiçi deneyin!

Yerleşikleri? Kimin ihtiyacı var? ( ʂÞiƬyere iğrenerek).

Gibi tam ad olarak girdi alır "Idaho".

Nasıl çalışır

“U[“Ȥ“!÷2“®Ɓ⁵]StƁ}K“ʂÞiƬ¦.ÞrÆu“4œ(°fWg?Ʋd“Ɠ©“Œb‘i³OS%168¤$€Tµ’6L?
“U[“Ȥ“!÷2“®Ɓ⁵]StƁ}K“ʂÞiƬ¦.ÞrÆu“4œ(°fWg?Ʋd“Ɠ©“Œb‘                   The literal list of code-page index lists  [[85, 91], [154], [33, 28, 50], [8, 143, 133, 93, 83, 116, 143, 125, 75], [167, 20, 105, 152, 5, 46, 20, 114, 13, 117], [52, 30, 40, 128, 102, 87, 103, 63, 153, 100], [147, 6], [19, 98]]
                           €        On each sublist:
                         ¤            Evaluate the hash value:
                 ³                     Input
                   O                   Character values
                    S                  Sum.
                     %                 Modulus.
                      168              168
                i                     Does the sublist contain that nilad?
                            T       Get the sublist which does contain that nilad.
                                 ?  If
                                L     Length.
                                    Then
                             ’        Return the index - 1
                                    Else
                              6      Return 6

Bu listeyi almak için hangi işlemi kullandınız?
Scott Milner

2
@ScottMilner OS%168Listeyi doğrudan veren eyaletlerin her birine koştum . 168 sabitini, 250'den az olan tüm olasılıkları kaba zorlayarak buldum, her birini farklı sınırlar arasında gerçekten ayırt edilebildiğini kontrol ettim. 168(bazıları arasında) çalıştı ve 48çarpışmalar nedeniyle sadece değerleri kodlamak zorunda kalmanın avantajını sağladı .
fireflame241

18

Mathematica 112 111 bayt

Mark S. ve LegionMammal978 sayesinde -5 bayt !

Ngeniz sayesinde -22 bayt (ve çıktıda bir sorun olduğunu fark eder) !

Tr[1^Entity["AdministrativeDivision",#~StringDelete~" "]@"BorderingStates"]+Boole@StringMatchQ[#,"Il*"|"Mic*"]&

Tabii ki, bunun için yerleşik bir Mathematica var. Sayıma DC ekler.


3
Bu kirli hissettiriyor, ancak AdministrativeDivisiono kadar şaşırtıcı ki uzunluğunda [x = "AdministrativeDivision" ~ Entity ~ StringDelete [""] @ # ~ ToExpression [x <> "Data"] ~ "BorderingStates"] &
Mark

1
ToExpressionSymboldoğru hatırlıyorsam, ile değiştirilebilir .
LegionMammal978

1
Ayrıca kullanmanıza gerek yok AdministrativeDivisionData, sadece "BorderingStates"varlığa argüman olarak geçin; ör.Entity["AdministrativeDivision","Alaska"]["BorderingStates"]
ngenisis 21:17

1
@ngenisis İlk soruna bir düzeltme uyguladım; Neyse ki, önerileriniz nedeniyle, bu kadar bayt eklemedi. OP'nin geçerli olup olmadığını ve yanıtın evet olup olmadığını sorduğumdan DC ile ilgili olarak bahsettiğiniz ikinci sorun bir sorun değildir.
notjagan

1
@notjagan da kullanabilirsiniz Tr[1^...]yerine Length@...başka byte kaydedin.
ngenisis

13

JavaScript (ES6), 115 113 bayt

Düzenleme: Adım Hen Python cevabından 2 dize optimizasyonu ödünç alarak 2 bayt kaydedildi . İlk denememde onları özledim.

Posta kodlarını girdi olarak alır.

s=>('7KYCO8MOTN0AKHI1ME2FLSCWA3CACTNDELANHNJRIVT4ALWINCKSMDMSMTXOR5GAZOHMANMIMNVWVA'.match('.\\D*'+s)||'6')[0][0]

Nasıl?

.match()Yönteme iletilen bir RegExp bağımsız değişkeni , dolaylı olarak bir RegExp nesnesine dönüştürülür. /.\D*{{input}}/Kodlanmış dizemizde normal ifadeyi test ediyoruz . Bu, bir rakamla (1) , ardından 0 ila N rakamı olmayan karakterlerle ve ardından girişle eşleşir.

Örneğin: giriş "NH"(New Hampshire) ise, eşleşen dize olacaktır "3CACTNDELANH". Bu dizenin ilk karakterini tutarız veya "6"eşleşme yoksa varsayılan olarak geri döneriz.

(1): Bu .aslında herhangi bir karakterle eşleşir, ancak dize, bir grup harften önce bulunanın her zaman bir rakam olacağı şekilde oluşturulur.

gösteri


Karma sürüm, 115 bayt

Aynı giriş biçimi.

s=>`04436303035050063062750600644408${6e7}503600300540410005207058036442600400000650035`[parseInt(s,33)%589%180%98]

gösteri


Bu String
Downgoat

7

Python 3 , 168 154 153 137 bayt

lambda s:[i for i,S in enumerate('AKHI ME FLSCWA CACTLANHNJNDERIVT ALWINCKSMDMSMTXOR MAZOHGANMIMNVWVA A KYCO MOTN'.split())if s in S]or 6

Çevrimiçi deneyin!

İsaacg sayesinde -4 bayt

ETHProductions sayesinde -10 bayt

Notjagen sayesinde -1 bayt

Diğer cevapların yaptığı gibi, varsayılan olarak altıya biraz daha bayt kaydetti.

TIO testleri içerir. Girişi posta kodu olarak alır. Her küme için durum isimlerinin bir listesini dizgi olarak oluşturur, mümkünse birlikte sıkıştırılır (örneğin, WVVAolarak depolanır WVA). Lambda işlevi, dizeyi girdiyi içeren listedeki dizini alır. Golf fonksiyonunu bilmediğim bir yol olabilir. Tam sayı içeren bir liste olarak çıktılar - tam sayı [0]olarak çıktı almak için lambda'nın sonuna ekleyin .


Ayrıca, yalnızca bir lkez kullanırsınız , böylece satır içi de kullanabilirsiniz.
isaacg

@ETHproductions yep, teşekkürler
Stephen

@isaacg teşekkürler, neden görmedim bilmiyorum
Stephen

Teksas'ın konumunu yeniden düzenleyerek -1 bayt .
notjagan

@notjagan teşekkürler, bunu kaçırdı
Stephen

4

V , 143 bayt

çourüee/C8
çdoüke/C7
çrküI„sn]üebüOkünnsüSDüUüwy/C6
çzüg„ot]üttüinnüvaüxiüOh/C5
çbüdiüKüMáû5}üNCüOüTüWi/C4
ç^[CDLNRV]/C3
ç[FSW]/C2
çM/C1
ñlS0

Çevrimiçi deneyin!

HexDump:

00000000: e76f 7572 fc65 652f 4338 0ae7 646f fc6b  .our.ee/C8..do.k
00000010: 652f 4337 0ae7 726b fc49 8473 6e5d fc65  e/C7..rk.I.sn].e
00000020: 62fc 4f6b fc6e 6e73 fc53 8144 fc55 fc77  b.Ok.nns.S.D.U.w
00000030: 792f 4336 0ae7 7afc 6784 6f74 5dfc 7474  y/C6..z.g.ot].tt
00000040: fc69 6e6e fc76 61fc 7869 fc4f 682f 4335  .inn.va.xi.Oh/C5
00000050: 0ae7 62fc 6469 fc4b fc4d e1fb 357d fc4e  ..b.di.K.M..5}.N
00000060: 8143 fc4f fc54 fc57 692f 4334 0ae7 5e5b  .C.O.T.Wi/C4..^[
00000070: 4344 4c4e 5256 5d2f 4333 0ae7 5b46 5357  CDLNRV]/C3..[FSW
00000080: 5d2f 4332 0ae7 4d2f 4331 0af1 6c53 30    ]/C2..M/C1..lS0

Girişi posta kodları olarak alabileceğinizi fark etmeden önce bunu yazdım. Bunun daha kısa olup olmadığından emin değilim :shrug:. Bu yanıt, belirli durumları aramak için normal ifadeyi kullanır ve ardından girdiyi eşleşiyorsa belirli bir sayı olarak değiştirir. Ancak, test ettiğimiz durumların sayısı arttıkça, kullanabileceğimiz en küçük arama azalır. Örneğin, arayamayız Cçünkü bu Coloradove ile eşleşecektir California. (Conneticut ve Carolinas'ın yanı sıra) Ancak, 3'ten fazla sınırı olan her durum için test ettikten sonra , C ile başlayanları arayabiliriz, çünkü artık bir öncekiyle eşleşemez.

Hepsini test etmek için vaktim olmadığından birkaç test durumu yanlış olabilir. Yanlış çıktı bulursanız bana bildirin. :)


3

JavaScript, 153 bayt

MO=TN=8;CO=KY=7;AZ=GA=MA=MI=MN=NV=NM=OH=VA=WV=5;AL=IN=KS=MD=MS=MT=NC=OR=TX=WI=4;CT=DE=LA=NH=NJ=ND=RI=VT=3;FL=WA=2;ME=1;AK=HI="0";alert(self[prompt()]||6)

Değişken zincirleme. Eminim bunu yapmanın daha iyi bir yolu var.

Discord'dan birisinin önerisi sayesinde, çıkış varsayılan olarak en yaygın olan sınırlandırılmış sayı olan 6'dır. 183 bayt ila 151 bayt.

Bir yorumcu bunun AK ve HI için başarısız olduğuna dikkat çekti, bu yüzden sorunu çözmek için iki bayt ekledim. 151 ila 153 bayt.


1
Eminim bu başarısız olur AKve HIçünkü 0||66 olarak değerlendirir, bu yanlış çıktı.
kamoroso94

@ kamoroso94 Kodumu güncelledim, daha iyi bir düzeltme olduğunu düşünüyorsanız bana bildirin.
Eli Richardson

3

05AB1E , 78 72 bayt

.•n£þuγ{çâ/₁=èó[nK™ΩFîÀî˜Çʒ÷¿ηZ¬³ã®ÿΣÔ¢*5ŠÜ‚!¶Ö¾#}ê(Ûø‰¢þL[Æ₁cgIkö•s¡¬ð¢

Çevrimiçi deneyin!


.•n£þuγ{çâ/₁=èó[nK™ΩFîÀî˜Çʒ÷¿ηZ¬³ã®ÿΣÔ¢*5ŠÜ‚!¶Ö¾#}ê(Ûø‰¢þL[Æ₁cgIkö•
# Push the string: akhi me flscwa cactdelanhnjndrivt alinksmdmsncmtortxwi azgamamimnnvnmvaohwv idilianarenyokpnsdutwy kyco motn

s¡    # Split on input.
  ¬   # Get head.
   ð¢ # Count number of spaces.

Bu SADECE çalışır, çünkü durum kısaltmalarının sırası, durumlar arasındaki çakışmada NO durumunun oluşmasına izin verir:

a[kh]i 
me 
f[ls][cw]a 
c[ac][td][el][an][hn][jn][dr][iv]t 
a[li][nk][sm][dm][sn][cm][to][rt][xw]i 
a[zg][am][am][im][nn][vn][mv][ao][hw]v 
i[di][li][an][ar][en][yo][kp][ns][du][tw]y 
k[yc]o 
m[ot]n

Düzenlemeyi doğru yapmak için biraz zaman aldı ... Sonra, girişe bölünerek ve ilk kısımdaki boşlukları sayarak doğru sonucu elde ederiz.


Diğer cevaplardan "varsayılan 6" çalmak, 65 bayt alıyorum:

05AB1E , 65 bayt

.•3θ0ÔÕ—ú^?D§:‚A†ǝλα“i›p‚ιCöΔƒñPŠ J€ŽãB»ΣUƤÆuhÃgŠ¦,Y²•s¡¬ð¢D9Qi6

Çevrimiçi deneyin!


Took awhile to get the arrangement right-> oh, sanırım cevabımdan kopyalayabilirdiniz (bunu doğru okuyorsam)
Stephen

@Stephen Peki, ben başka bir yazıdan fikir alamadım, eğer "sucky hashing algoritması" bakarsanız bir saat kadar karma için rastgele fikirler ile uğraşmak sonra boşlukları düşündüm, yapamadım bulundu ne kadar çok denesem denemem bu uygulamayı yener.
Sihirli Ahtapot Urn

@Stephen şimdi seninkini okuduğumda, keşke 6 xD'yi varsayılan olarak düşünmeyi de isterdim.
Sihirli Ahtapot Urn

1
Bunu düşünmedim, önce bu cevapta gördüm, bu yüzden almaktan çekinmeyin: P
Stephen

2

Retina , 106 105 bayt

MO|TN
8
CO|KY
7
AK|HI
0
ME
1
FL|WA
2
[CDLR].|N[HJD]|VT
3
.[CSX]|AL|IN|MD|MT|OR|WI
4
[GMV].|.[HMVZ]
5
..
6

Çevrimiçi deneyin! Birisi regex dedi mi? Düzenleme: @Arnauld sayesinde 1 bayt kaydedildi.


2

JavaScript (ES6), 195 bayt

s=>/las|ii/[t='test'](s)?0:/ai/[t](s)?1:/Fl|Wa|S.*C/[t](s)?2:/fo|ct|de|ui|mp|er|^N.+ak/i[t](s)?3:/do|ck/[t](s)?7:/ur|ee/[t](s)?8:/iz|gi|ch|ev|xi|hi|es/[t](s)?5:/rk|ah|oi|ow|br|om|lv|ak/[t](s)?6:4

Eyaletin tam adı üzerinde çalışan bir dizi düzenli ifade.

Test senaryoları:


2

Jöle ,  61  59 bayt

OP%⁽/r%101eЀ“¿=“þ“(7“¡¦ðø,0@L“€ç÷<CMZa“Ø!)5HNV““1^“¥+‘Tȯ7’

Tam durum adını alan ve sonucu basan tam bir program (monadik bir bağlantı olarak ya tek bir sayı veya 6 sayısı içeren bir liste döndürür).

Çevrimiçi deneyin! veya bir test takımına bakın .

Nasıl?

“¿=“þ“(7“¡¦ðø,0@L“€ç÷<CMZa“Ø!)5HNV““1^“¥+‘

kod sayfası indekslerinin bir listesidir:

[[11,61],[31],[40,55],[0,5,24,29,44,48,64,76],[12,23,28,60,67,77,90,97],[18,33,41,53,72,78,86],[],[49,94],[4,43]]

ve “ ... ‘aşağıdaki gibi gösterilir :

OP%⁽/r%101eЀ“ ... ‘Tȯ7’ - Main link: list of characters, stateName  e.g. Ohio
O                        - cast to ordinals                   [79,104,105,111]
 P                       - product                                    95757480
   ⁽/r                   - base 250 literal                              12865
  %                      - modulo by 12865                                3285
      %101               - modulo by 101                                    53
             “ ... ‘     - list of lists of code-page indices
          eЀ            - map: exists in?                 [0,0,0,0,0,1,0,0,0]
                    T    - truthy indices (if none yields an empty list)   [6]
                     ȯ7  - logical or with 7 (replace empty list with 7)   [6]
                       ’ - decrement                                       [5]
                         - implicit print (Jelly's representation of a list of
                         -                 one item is just that item)       5

1

Excel VBA, 177 154 147 Bayt

StringAralıktan bir durumun posta kodunu temsil eden beklenen türden girdi alan [A1]ve Integerbu durumun kenarlığını belirten durumların sayısını temsil eden bir anonim VBE işlevi .

For i=0To 8:r=r+IIf(Instr(1,Split("AKHI ME FLSCWA CACTLANHNJNDERIVT ALWINCKSMDMSMTXOR MAZOHGANMIMNVWVA | KYCO MOTN")(i),[A1]),i,0):Next:?IIf(r,r,6)

Önceki sürümler

154 Bayt:

For Each s in Split("AKHI ME FLSCWA CACTLANHNJNDERIVT ALWINCKSMDMSMTXOR MAZOHGANMIMNVWVA | KYCO MOTN"):r=r+IIf(Instr(1,s,[A1]),i,0):i=i+1:Next:?IIf(r,r,6)

177 Bayt:

[2:2]=Split("AKHI ME FLSCWA CACTLANHNJNDERIVT ALWINCKSMDMSMTXOR MAZOHGANMIMNVWVA A KYCO MOTN"):[3:3]="=IfError(If(Find($A1,A2),Column(A3)),"""")":[B1]="=Sum(3:3)":?[If(B1,B1,6)]

Okunabilirlik için biçimlendirilmiş

[2:2]=Split("AKHI ME FLSCWA CACTLANHNJNDERIVT ALWINCKSMDMSMTXOR MAZOHGANMIMNVWVA | KYCO MOTN")
[3:3]="=IfError(If(Find($A1,A2),Column(A3)-1),"""")"
[B1]="=Sum(3:3)"
?[If(B1,B1,6)]

1

Python 2, 363 218 bayt

lambda a:dict(WA=2,WI=4,WV=5,FL=2,NH=3,NJ=3,NM=5,NC=4,ND=3,RI=3,NV=5,CO=7,CA=3,GA=5,CT=3,OH=5,KS=4,SC=2,KY=7,OR=4,DE=3,HI=0,TX=4,LA=3,TN=8,VA=5,AK=0,AL=4,VT=3,IN=4,AZ=5,ME=1,MD=4,MA=5,MO=8,MN=5,MI=5,MT=4,MS=4).get(a,6)

Şimdi biraz optimize edilmiş basit kodlu cevapla başlayalım . Girdi olarak posta kodunu alır.

Bfontaine sayesinde -145 bayt.


4
Bunun dict(MO=8,TN=8,...)yerine kullanarak neredeyse 100 bayt kaydedebilirsiniz {'MO':8,'TN':8,...}. Daha sonra .get(a,6), diğer 6 durumu sınırlayan durumları kullanarak ve kaldırarak neredeyse 50 bayt kaydedebilirsiniz . Bu iki hile ile 219'a kadar inebilirim.
bfontaine

Daha yerine boşluk kullanarak bazı tasarruf @Mitch .ve yapıyor split()(Sanırım)
Stephen

@Mitch Dönemlere bile ihtiyacınız var mı? Bir listeyi 2 kişilik gruplara ayırmanın bir yöntemi var mı?
Sihirli Ahtapot Urn

Kullanarak daha fazla bayt kaydedebileceğinize inanıyorum dict((i[0]+i[1],int(i[-1])) for i in zip(*[iter("WA2WI4WV5FL2...")]*3)). Ayrıca int, bir dize olarak çıktı almasına izin verilirse , muhtemelen bundan uzak durabilirsiniz.
Izaak van Dongen

Aslında ambalajı açmayı kullanırsanız yapabilirsiniz dict((a+b,int(c)) for a,b,c in zip(*[iter("WA2WI4WV5...")]*3)). Üzgünüm, biraz kararsızım: D
Izaak van Dongen

1

PowerShell , 187 bayt

param($a)$x=($b=" MO8TN8CO7KY7AZ5GA5MA5MI5MN5NV5NM5OH5VA5WV5AL4IN4KS4MD4MS4MT4NC4OR4TX4WI4CA3CT3DE3LA3NH3NJ3ND3RI3VT3FL2SC2WA2ME1").IndexOf($a);if($x+1){$b[$x+2];exit}6-6*($a-in'AK','HI')

Çevrimiçi deneyin!

Eminim bunu yapmanın daha iyi bir yolu var, ama işte yaklaştığım yaklaşım.

Girdi alır $ave bunu .IndexOfuzun durum / sınır kombinasyonları dizisinde oluşumunu elde etmek için kullanır . Sürecin içine $xve dizeye $bkaydeder. Sonra ifbir eşleşme bulunup bulunmadığını ve eğer öyleyse dizine ve sonra indeksini kontrol eden bir ifadeye gider exit. Aksi takdirde, biz olduğun kişi 6devletler veya AKveya HIbiz olmadığını görmek için bazı mantık gerçekleştirmek böylece $abirinin ise 0gerekirse devletler ve çıkarma. Her durumda, bu boru hattında kalır ve çıktı örtüktür.


1

Python 3, 729 733 bayt

Girişi posta kısaltması olarak alır. Bu benim bir golf mücadelesinde ilk denemem ve bu cehennem yaklaşımıyla alabileceğim en kısa şeyle ilgili. Bunun çok büyük olduğunu biliyorum - düşünmeye geldim, muhtemelen if-elseifadelerle daha iyi olurdu , ama tüm bu zaman ve çabadan sonra onu yayınlamak zorunda kaldım: D.

lambda s:sum((i-32)*96**j for j,i in enumerate(b'`*g$<#?wP\\.=)kuDbk$yvv\\D:Nh:cd/Pj, e*[_yXGz6lR<$jMo0qUU*7(Dua3-ThO}iX6VWRYDv=<K$8mVbYK9ld);TFB/m\'NE3ow4./pUsI5yJrwYrM4@e6\\kHJ%q8NA3>fb!~-rtwsRW=RBni}Y7T^gD\\IoxzJf.%|1.&4*"$%Q+).|8p(vcJ]cLRGUyC2eF:<Q4!_)y\\<`tr2A[z7re6OaR["2PRv\x7f,bRE [XrvtA<R<UlS23on?Byym&uy{XuB\x7fIMfh<y&waHElg-vk:4*on\x7f@?Ai5=2swfZSBF.PjkL{,|=,M<Bw"w,e@f`aKnmh\'xgg1#b4En\x7f+*\'g_ZRoeN*Q]mX\'>RoGc~ZP~e&{Hwo6bd<](hV)=l9#[f<Gj,#Ea!nJnL=9k"M,`bP2PsP6(eJoGEU>GA?,BpS}"RzzdMRtL[cre;\\tld^xT\':pry\'Nu_*R}eYg_U!Ld{p7<f:95lD]OBMX(r"Jg\'|%Cq"`Qy9g0aNrtYP9dnPRRr3\'yT(CE~\\&@5#tMLZ+a:V5NNXVp+Uy61s9$=Vb99(!ga7f7x}#=*]q.\x7f0R+f[*m:i^qe#D 8M&W\x7faGmCNCU9"~1Pj!]2r5 H>rYPqwfg4cFG*3-(z'))>>(5*int(s,36)-1850)&15

Ben sadece 4 bayt aşağı, 400 gitmek için üç harfli değişken adının lüks almış olduğunu fark ettim!


PPCG'ye Hoşgeldiniz! Diğer Python cevaplarında gösterildiği gibi bazen daha basit çözümler daha kısadır: P
Stephen

. Evet, doğru sığacak edeceğiz senin suçlu zevk "okunaksız var özlü böylece kodunuzu yapmak" olduğunu göz önünde bulundurarak, tüm bu koymak çaba seviyorum
Zachary
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.