Jumblers vs Rebuilders: Tetris Bricks ile Kodlama


34

Geleneksel olarak Tetris , 7 farklı vardır tetromino şekli benzer bir harf ile belirtilenler tuğla, her.

#          
#      #    #
#  ##  #    #  ###  ##    ##
#  ##  ##  ##   #    ##  ##
I  O   L   J    T    Z    S

Bazı tuğlalar W ve H için sağlam bir W × H dikdörtgen oluşturabilen bu tuğlaların düzenlemelerini düşünün. Örneğin, 2 I, 1 L, 1 J, 2 T ve 1 S kullanarak, 7 × 4 bir dikdörtgen yapılacak:

IIIITTT
LIIIITJ
LTTTSSJ
LLTSSJJ

Aynı tuğlalar farklı bir 7 × 4 desene göre yeniden düzenlenebilir (hareket ettirilerek ve döndürülerek saygısız olarak ):

IJJTLLI
IJTTTLI
IJSSTLI
ISSTTTI

Şimdi ilk düzenlemenin yerine dikdörtgen bir kod bloğu kullanmayı düşünün. Örneğin, Tetrisstdout'a basan bu 7 × 4 bit Python 3 :

p=print
x='Tet'
y='ris'
p(x+y)#

İlk Tetris düzenlemesine göre 7 "tuğla" ...

           x          '
      int  y          '  ='r   is
p=pr   t   p(  ='Te  )#   x   +y

Diğer düzenlemede (birçoğundan mümkün) kod olarak anlaşılmaz:

r#)x(x=
p'r'=y'
='istpT
p+ytnie

Ancak, tuğlaları ayrı ayrı göz önüne alındığında, düzgün bir şekilde bir araya getirmek mümkün olabilir. Bu zorluğun temelidir.

Meydan okuma

Bu bir mücadelesidir. İki rakip rol var, Jumblers ve Rebuilders .

Çalkalayıcılar Tetris tuğlalarına bölünmüş kod bloklarıyla cevaplar verirler.

Rebuilders bu blokları kendileri için ayrı ayrı bir soruda yeniden inşa etmeye çalışıyor : Jumblers vs Rebuilders: Tetris Bricks ile Kodlama - Rebuilder Cevapları Alanı .

Jumblers

Yalnızca yazdırılabilir ASCII (altıgen kodlar 20 ila 7E) kullanarak, W × H dikdörtgen bir program yazın. Çalıştırıldığında, tek kelimeyi Tetrisstdout'a (veya en yakın alternatife) çıkarmalıdır. Cevabınıza bu kodu göndermeyin; W veya H de verme. Yukarıdaki örnek gibi bazı Tetris tuğlaları düzenine bölün ve bunları cevabınıza gönderin. (Kodunuz boşluk içerebilir, ancak ayırt etmek zor olduklarından, boşluk yerine başka bir karakter kullanmak ve insanlara ne kullandığınızı söylemek en iyisidir.)

Ne kadar zorsa, programınızı o kadar iyi yeniden inşa etmektir. Kod tuğlalarınızı, muhtemelen farklı boyutlarda olan bir dikdörtgenin içine yeniden düzenlemenin birçok yolu olabilir. Bu farklı düzenlemelerde çalıştırıldığında kodun ne yaptığı, en az bir düzenlemenin Tetrisstdout'a yazdırdığı sürece önemli değildir .

Diğer tek kısıtlama, W * H'nin 1025'ten az olmasıdır.

Çalkalayıcılar programlama dillerini (ve sürümlerini) belirtmelidir.

Rebuilders

Amacınız bir Jumbler’in kod tuğlalarını alıp tekrar orijinal sıralarına koymak Tetris, kod çalıştırıldığında basılmaktır. Bulduğunuz çalışma düzenlemesi, Jumbler'in aklında olan şey değilse, onlar için çok kötü.

Yeniden düzenlemede yalnızca çevirme ve döndürmeye izin verildiğini, yansıtma yapılmadığını unutmayın.

puanlama

Bir sunum her yeniden yapıldığında "çatlak" olarak kabul edilir ve artık koşmada değildir. Bir gönderimi yeniden oluşturan ilk Rebuilder bunun için kredi alır. Bir cevap 72 saat boyunca çözülmezse, Jumbler çözümü ortaya çıkarmalı ve bundan dolayı kırılmaya karşı bağışıklık kazanmalıdır. Bir Jumbler bunu kazanmak için yapmalı, çünkü aksi halde bir çözüm olup olmadığı belli olmaz.

Kazanan Jumbler, en küçük alana sahip kırılmamış cevaptır (W * H = 4 * tuğla sayısı). Kravat durumunda en yüksek oyu alan cevap kazanır. Bu soru için kabul edilen cevap kazanan Jumbler olacaktır.

Kazanan Rebuilder en fazla başvuruları kıran kullanıcıdır. Bağlanma durumunda, en fazla kümülatif alanı kırmış olanlara gider.

notlar

  • Kendi gönderimlerinizi yeniden oluşturamazsınız. (Ama aksi takdirde her iki rolü de üstlenebilirsin.)
  • Yeniden yapılanmalar aynı cevabı bir kereden fazla kırmaya çalışamazlar.

sayı tahtası

En eski gönderimden en yeniye sıralandı.

+--------------+-------------+------------------+---------+----------+----------------+-------------------------------------------+-------------------------------------------+
|   Jumbler    |  Language   |       Area       | Immune? | Rebuilt? |   Rebuilder    |                      Link                 |                  Solution Link            |
+--------------+-------------+------------------+---------+----------+----------------+-------------------------------------------+-------------------------------------------+
| xnor         | Python 3    | 212              | no      | yes      | foobar         | https://codegolf.stackexchange.com/a/40142 | https://codegolf.stackexchange.com/a/40203 |
| xnor         | Python 3    | 340              | no      | yes      | feersum        | https://codegolf.stackexchange.com/a/40146 | https://codegolf.stackexchange.com/a/40189 |
| es1024       | C           | 80               | no      | yes      | user23013      | https://codegolf.stackexchange.com/a/40155 | https://codegolf.stackexchange.com/a/40210 |
| Ethiraric    | Brainfuck   | 108              | yes     |          |                | https://codegolf.stackexchange.com/a/40156 |                                           |
| Qwertiy      | JavaScript  | 420              | yes     |          |                | https://codegolf.stackexchange.com/a/40161 |                                           |
| user23013    | Befunge     | 360              | yes     |          |                | https://codegolf.stackexchange.com/a/40163 |                                           |
| user23013    | CJam        | 80               | yes     |          |                | https://codegolf.stackexchange.com/a/40171 |                                           |
| Geobits      | Java        | 360              | yes     |          |                | https://codegolf.stackexchange.com/a/40180 |                                           |
| Dennis       | CJam        | 60               | yes     |          |                | https://codegolf.stackexchange.com/a/40184 |                                           |
| xnor         | Python 3    | 160              | yes     |          |                | https://codegolf.stackexchange.com/a/40192 |                                           |
| COTO         | C           | 72               | yes     |          |                | https://codegolf.stackexchange.com/a/40198 |                                           |
| es1024       | C           | 780              | yes     |          |                | https://codegolf.stackexchange.com/a/40202 |                                           |
| Gerli        | Mathematica | 72               | no      | yes      | Martin Büttner | https://codegolf.stackexchange.com/a/40230 | https://codegolf.stackexchange.com/a/40242 |
| Hydrothermal | JavaScript  | 80               | yes     |          |                | https://codegolf.stackexchange.com/a/40235 |                                           |
| Sam Yonnou   | GolfScript  | 48 (frontrunner) | yes     |          |                | https://codegolf.stackexchange.com/a/40239 |                                           |
| feersum      | Matlab      | 48               |         |          |                | https://codegolf.stackexchange.com/a/40310 |                                           |
| Beta Decay   | Python 3    | 484              |         |          |                | https://codegolf.stackexchange.com/a/40312 |                                           |
| potato       | Python 3    | 176              |         |          |                | https://codegolf.stackexchange.com/a/40341 |                                           |
+--------------+-------------+------------------+---------+----------+----------------+-------------------------------------------+-------------------------------------------+

( Tablo biçimlendirme için http://www.sensefulsolutions.com/2010/10/format-text-as-table.html teşekkürler .)

Kullanıcı COTO , kod tuğlaları ile oynamak için mükemmel bir araç yaptı. Uygun bir snippet'e dönüştürdüm:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function parseSpec(s){function first(){var e,t;t=S.findIndex(function(t){return(e=t.findIndex(function(e){return/\S/.test(e)}))!=-1});return t==-1?null:[e,t]}function at(e){var t=e[0],n=e[1];return n>=0&&n<S.length&&t>=0&&t<S[n].length?S[n][t]:" "}function wipe(e){var t=e[0],n=e[1];if(n>=0&&n<S.length&&t>=0&&t<S[n].length)S[n][t]=" "}var P,S=s.split("\n").map(function(e){return e.split("")});var oPats=$(".proto-tet [pat]").get().map(function(e){return{sPat:eval("["+$(e).attr("pat")+"]"),e:e,block:function(e){return[at(e)].concat(this.sPat.map(function(t){return at([e[0]+t[0],e[1]+t[1]])}))},wipe:function(e){this.sPat.forEach(function(e){return wipe([P[0]+e[0],P[1]+e[1]])})},match:function(e){return!/\s/.test(this.block(e).join(""))}}});window.oPats=oPats;while(P=first()){var oPat=oPats.find(function(e){return e.match(P)});if(!oPat){orphan(at(P));wipe(P);continue}createPiece(oPat.e,oPat.block(P));wipe(P);oPat.wipe(P)}}function createPiece(e,t){function r(e){var t=$(this).position();G.isIgnoreClick=false;G.eDrag=this;G.iOffsets=[e.clientX-t.left,e.clientY-t.top]}function i(){if(G.isIgnoreClick)return;var e=$(this);s($(".proto-tet ."+e.attr("rr")),function(e,t){return n[t-1]},e.css("left"),e.css("top"));e.remove()}function s(e,t,n,s){e.clone().html(e.html().replace(/@(\d)(\d)/g,t)).appendTo("body").on("mousedown",r).click(i).css({left:n,top:s})}var n=[];s($(e),function(e,r,i){return n[r-1]=t[i-1]},18+G.iSpawn%8*18*4+"px",18+~~(G.iSpawn/8)*18*4+"px");G.iSpawn++}function init(){$(document).on("mouseup",function(){return G.eDrag=null}).on("mousemove",function(e){if(G.eDrag){var t=$(G.eDrag),n=Math.round((e.clientX-G.iOffsets[0])/18)*18,r=Math.round((e.clientY-G.iOffsets[1])/18)*18,i=t.position();if(n!=i.left||r!=i.top)G.isIgnoreClick=true;t.css({left:n+"px",top:r+"px"})}})}function orphan(e){error("Spec character not a part of any block: '"+e+"'")}function error(e){$(".error").css("display","block").append("<div>"+e+"</div>")}function go(){$(init);$(function(){parseSpec($("#spec").val())});$("#spec").remove();$("#info").remove();$("#go").remove()}var G={eDrag:null,isIgnoreClick:true,iSpawn:0};Array.prototype.findIndex=function(e){for(var t=0;t<this.length;t++){if(e(this[t]))return t}return-1};Array.prototype.find=function(e){var t=this.findIndex(e);if(t==-1)return;else return this[t]}</script><style>.proto-tet, .spec{display: none;}.tet-I{color: darkgreen;}.tet-J{color: orangered;}.tet-L{color: navy;}.tet-T{color: darkred;}.tet-O{color: darkcyan;}.tet-S{color: darkviolet;}.tet-Z{color: darkorange;}body > .tet{position: absolute;cursor: move;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;border-collapse: collapse;}.tet td{width: 18px;height: 18px;font: bold 14px "Courier New",monospace;text-align: center;vertical-align: middle;padding: 0;}.error{z-index: 1024;position: absolute;display: none;color: red;font-weight: bold;background-color: white;}textarea{font-family: "Courier New", Courier, monospace;}</style><div id='info'>Put code-bricks here and hit OK. Re-run the snippet to restart.<br>(You may need to replace spaces in code-bricks with some other character first.)</div><textarea id='spec' rows='16' cols='80'>ABCD&nbsp;&nbsp;a&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;&nbsp;&nbsp;Oo&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;&nbsp;&nbsp;oo&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&#13;&#10;&#13;&#10;&nbsp;E&nbsp;&nbsp;&nbsp;&nbsp;h&#13;&#10;&nbsp;F&nbsp;&nbsp;efg&nbsp;&nbsp;&nbsp;hg&nbsp;&nbsp;&nbsp;GFE&#13;&#10;&nbsp;GH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;&nbsp;&nbsp;H&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e&#13;&#10;&#13;&#10;&nbsp;I&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IJK&#13;&#10;&nbsp;J&nbsp;&nbsp;&nbsp;l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L&#13;&#10;LK&nbsp;&nbsp;&nbsp;kji&nbsp;&nbsp;kl&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#13;&#10;&nbsp;OP&nbsp;&nbsp;&nbsp;p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QR&nbsp;&nbsp;&nbsp;&nbsp;rs&#13;&#10;MN&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ST&nbsp;&nbsp;&nbsp;q&#13;&#10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&#13;&#10;&nbsp;W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z&#13;&#10;&nbsp;XY&nbsp;&nbsp;&nbsp;&nbsp;zxw&nbsp;&nbsp;&nbsp;&nbsp;yx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y&#13;&#10;&nbsp;Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w&nbsp;&nbsp;&nbsp;&nbsp;WXZ</textarea><br><button id='go' type='button' onclick='go()'>OK</button><div class="proto-tet"><table class="tet tet-I tet-I0" rr="tet-I1" pat="[1,0],[2,0],[3,0]"><tr><td>@11</td><td>@22</td><td>@33</td><td>@44</td></tr></table><table class="tet tet-I tet-I1" rr="tet-I2" pat="[0,1],[0,2],[0,3]"><tr><td>@11</td></tr><tr><td>@22</td></tr><tr><td>@33</td></tr><tr><td>@44</td></tr></table><table class="tet tet-I tet-I2" rr="tet-I3" ><tr><td>@40</td><td>@30</td><td>@20</td><td>@10</td></tr></table><table class="tet tet-I tet-I3" rr="tet-I0"><tr><td>@40</td></tr><tr><td>@30</td></tr><tr><td>@20</td></tr><tr><td>@10</td></tr></table><table class="tet tet-J tet-J0" rr="tet-J1" pat="[0,1],[-1,2],[0,2]"><tr><td></td><td>@11</td></tr><tr><td></td><td>@22</td></tr><tr><td>@33</td><td>@44</td></tr></table><table class="tet tet-J tet-J1" rr="tet-J2" pat="[0,1],[1,1],[2,1]"><tr><td>@31</td><td></td><td></td></tr><tr><td>@42</td><td>@23</td><td>@14</td></tr></table><table class="tet tet-J tet-J2" rr="tet-J3" pat="[1,0],[0,1],[0,2]"><tr><td>@41</td><td>@32</td></tr><tr><td>@23</td><td></td></tr><tr><td>@14</td><td></td></tr></table><table class="tet tet-J tet-J3" rr="tet-J0" pat="[1,0],[2,0],[2,1]"><tr><td>@11</td><td>@22</td><td>@43</td></tr><tr><td></td><td></td><td>@34</td></tr></table><table class="tet tet-O tet-O0" rr="tet-O1" pat="[1,0],[0,1],[1,1]"><tr><td>@11</td><td>@22</td></tr><tr><td>@33</td><td>@44</td></tr></table><table class="tet tet-O tet-O1" rr="tet-O2"><tr><td>@30</td><td>@10</td></tr><tr><td>@40</td><td>@20</td></tr></table><table class="tet tet-O tet-O2" rr="tet-O3"><tr><td>@40</td><td>@30</td></tr><tr><td>@20</td><td>@10</td></tr></table><table class="tet tet-O tet-O3" rr="tet-O0"><tr><td>@20</td><td>@40</td></tr><tr><td>@10</td><td>@30</td></tr></table><table class="tet tet-L tet-L0" rr="tet-L1" pat="[0,1],[0,2],[1,2]"><tr><td>@11</td><td></td></tr><tr><td>@22</td><td></td></tr><tr><td>@33</td><td>@44</td></tr></table><table class="tet tet-L tet-L1" rr="tet-L2" pat="[1,0],[2,0],[0,1]"><tr><td>@31</td><td>@22</td><td>@13</td></tr><tr><td>@44</td><td></td><td></td></tr></table><table class="tet tet-L tet-L2" rr="tet-L3" pat="[1,0],[1,1],[1,2]"><tr><td>@41</td><td>@32</td></tr><tr><td></td><td>@23</td></tr><tr><td></td><td>@14</td></tr></table><table class="tet tet-L tet-L3" rr="tet-L0" pat="[-2,1],[-1,1],[0,1]"><tr><td></td><td></td><td>@41</td></tr><tr><td>@12</td><td>@23</td><td>@34</td></tr></table><table class="tet tet-S tet-S0" rr="tet-S1" pat="[1,0],[-1,1],[0,1]"><tr><td></td><td>@21</td><td>@12</td></tr><tr><td>@43</td><td>@34</td><td></td></tr></table><table class="tet tet-S tet-S1" rr="tet-S2" pat="[0,1],[1,1],[1,2]"><tr><td>@41</td><td></td></tr><tr><td>@32</td><td>@23</td></tr><tr><td></td><td>@14</td></tr></table><table class="tet tet-S tet-S2" rr="tet-S3"><tr><td></td><td>@30</td><td>@40</td></tr><tr><td>@10</td><td>@20</td><td></td></tr></table><table class="tet tet-S tet-S3" rr="tet-S0"><tr><td>@10</td><td></td></tr><tr><td>@20</td><td>@30</td></tr><tr><td></td><td>@40</td></tr></table><table class="tet tet-Z tet-Z0" rr="tet-Z1" pat="[1,0],[1,1],[2,1]"><tr><td>@11</td><td>@22</td><td></td></tr><tr><td></td><td>@33</td><td>@44</td></tr></table><table class="tet tet-Z tet-Z1" rr="tet-Z2" pat="[-1,1],[0,1],[-1,2]"><tr><td></td><td>@11</td></tr><tr><td>@32</td><td>@23</td></tr><tr><td>@44</td><td></td></tr></table><table class="tet tet-Z tet-Z2" rr="tet-Z3"><tr><td>@40</td><td>@30</td><td></td></tr><tr><td></td><td>@20</td><td>@10</td></tr></table><table class="tet tet-Z tet-Z3" rr="tet-Z0"><tr><td></td><td>@40</td></tr><tr><td>@20</td><td>@30</td></tr><tr><td>@10</td><td></td></tr></table><table class="tet tet-T tet-T0" rr="tet-T1" pat="[1,0],[2,0],[1,1]"><tr><td>@11</td><td>@22</td><td>@33</td></tr><tr><td></td><td>@44</td><td></td></tr></table><table class="tet tet-T tet-T1" rr="tet-T2" pat="[-1,1],[0,1],[0,2]"><tr><td></td><td>@11</td></tr><tr><td>@42</td><td>@23</td></tr><tr><td></td><td>@34</td></tr></table><table class="tet tet-T tet-T2" rr="tet-T3" pat="[-1,1],[0,1],[1,1]"><tr><td></td><td>@41</td><td></td></tr><tr><td>@32</td><td>@23</td><td>@14</td></tr></table><table class="tet tet-T tet-T3" rr="tet-T0" pat="[0,1],[1,1],[0,2]"><tr><td>@31</td><td></td></tr><tr><td>@22</td><td>@43</td></tr><tr><td>@14</td><td></td></tr></table></div><div class="error"></div>


10
Befunge için bir iş gibi geliyor.
Martin Ender

8
OP, lütfen bize bunun gibi şeyleri nasıl bulabildiğini söyler mi?
Soham Chowdhury

5
@SohamChowdhury Daha önce söylediğimden daha fazlasını söyleyemem . Temel prensiplerim basitlik ve özgünlüktür .
Calvin'in Hobileri

Hala bir sorun sunabilir miyim, yoksa bu zorluk Jumblers'a kapalı mı?
ASCIIThenANSI

@ASCIIThenANSI Devam edin. Yine de pek çok inşaatçı hala buralarda değil.
Calvin'in Hobileri

Yanıtlar:


3

GolfScript 48

I adet:

!;..  )+?;

O adet:

.[  ;*  .(
):  ++  -\

T adet:

+]\  +++  ;).  );.
 .    *    ,    )

J adet:

.    )    *
(@@  :?,  .,:

Çözüm

.[!)):,.
):;+:?,*
;*.?;).+
++.;),*+
.(..;).+
-\(@@\]+


Evet, ben tetris parçalarını bulmak için kullanıyordum. "Düzenlendi" bağlantısının görünmemesi için yeterince hızlı bir şekilde düzenleme yaptım, böylece insanlar yanıt için düzenleme geçmişine bakamıyor.
SamYonnou 23:14

Maçı mahvetmek istemiyorum ama umarım bu sayfayı çabucak açan tek kişi bendim. ;)
Martin Ender

Bunun gecikmiş olduğunu biliyorum ama resmi olarak yarışmaya son veriyorum ve bu yanlış yaptığım sürece kazanmadım! Sam, çözümü mümkün olduğunu ispatlamak için gönderirseniz bu cevabı kabul edeceğim.
Calvin'in Hobileri

@ Calvin'sHobbies Tamamlandı
SamYonnou

23

Java: 360 alanı

Ödül: 500

Bunları yeniden inşa etmek zor! Muhtemelen bu mücadeleye katılan çok fazla hırsız bulunmamasının nedeni budur. Ancak, benimki kırık görmek istiyorum . Bu yüzden, 72 saat sonra çözümü vermek yerine , ilk başarılı krakere 500 tekrar koyuyorum. Açıklığa kavuşturmak için, cevap yazısına +500 ödül ekleyeceğim ve bu parçaları "Tetris" çıkaran herhangi bir çalışan, dikdörtgen Java programına yeniden monte ederseniz, çatlağınıza vereceğim. Önemsiz olarak ödülü aktifleştiremiyorum, çünkü kimse cevap vermezse temsilcisi israf etmek istemiyorum.

Bu teklifin bitiş tarihi yok. Buraya üye olduğum sürece geçerlidir. Cevabınızı gördüğümden emin olmak için, bana bir yorum yazın.

Parçaların (ve kodların) geçerli olduğundan emin olmak için üç kez kontrol yaptım, ancak güvenilir bir kullanıcı bunu onaylamak istiyorsa, onlara e-postayla / bir şey gönderebilirim. Açıkçası, bu onları göndermekten ve lütuf toplamaktan muaf tutar.

Yedi parça türünün bir karışımından yapılmıştır. İşleri kolaylaştırmak için (?) Aynı tipteki tüm parçaların aynı oryantasyona döndürülmesini sağladım. Java, çok fazla değiştirilemeyen parçalara sahip olduğundan, gerçekten belirgin olan kısımları çalıştırmaya başlamak için basit bloklar olarak bıraktım.

Not: Java'nın birkaç zorunlu boşluğu olduğundan, onları _yerleşim amacıyla alt çizgi ( ) ile değiştirdim . Toplamda 11 tanesi var ve hepsi kodu çalıştırmak için boşluklara dönüştürülmeli. Kodda başka boşluk yok, aşağıdakilerden herhangi biri sadece konumlandırma için.

Var:

  • 41 ben
  • 15 O
  • 11 J
  • 8 L
  • 6 T
  • 6 S
  • 3 Z

İyi eğlenceler!

------------- I 

clas    s_X{    publ    ic_s

tati    c_vo    id_m    ain(    

Stri    ng[]    2;c*    p(b-    

(b-c    _voi    nt_a    Syst    

em.o    ut.p    rint    1,c=    

d=1,    e=3,    new_    int[    

;b++    for(    1008    ?1:2    

)a);    ccc+    ==++    pf}(    

for(    (b);    p(b+    --b-    

or(d    1?1:    +1;e    for(    

=1);

------------- O

a)
*2

b=
r(

12
<3

36
[c

*1
++

b<
6]

64
64

7]
]-

<1
1;

89
0;

;p
c)

=0
ic

st
ch

at
ar

d/
1;

-------------- T

{in
 ]

+b(
 5

d/2
 ;

d<<
 )

;;;
 1

=1)
 (

------------- L

2=[
+

]b*
8

=1)
]

<<b
<

}_}
d

3=b
)

+[[
=

=c,
=

-------------- J

o
;b=

,
2;)

f
2;c

*
=][

c
f=d

+
e1+

e
=;;

d
_p(

i
<++

=
){_

[
f+e

---------------- S

 t_
;f

 c+
1)

 +<
;p

 64
<6

 b=
;p

 ))
(;

--------------- Z

4,
 -1

;=
 ff

;f
 0;

Geçerli (veya en azından amaçlanan) bir çözüm oluşturmak için kod bloklarından herhangi birinin döndürülmesi gerekiyor mu?
El'endia Starman

@ El'endiaStarman Evet, amaçlanan çözüm için bazılarını döndürmeniz gerekir.
Geobits

12

Brainfuck, 108 alanı

Bu kod 27 adet parçadan yapılmıştır.

-.[>
.<++
.<++
[>++
[>++
-]++
]>.-
-]>[
-]>+
]>++
+.+-
+[>+
+-+-
++[>
++[>
++]-
++++
++++
+++<
+++<
+<-]
--<-
<-]>
<><+
>+.>
>++[
>+<<

Cevabı bulmak için kaba kuvvetten başka bir yol olup olmadığını bilmiyorum. Varsa, gerçekten nasıl olduğunu bilmek isterim.


9

Python 3: 212 alanı [Yeniden oluşturuldu]

IKodum, her satıra bir tane alfabetik olarak yazdığım aşağıdaki 53 parçaya bölünmüştür.

(358
0048
0396
0796
0824
0981
1013
1314
1330
1438
1502
2285
2317
2479
2585
2955
3116
3738
3818
4169
4356
4360
4632
4800
5016
5153
5256
5394
5598
5631
5758
5840
6312
6425
6539
7045
7156
7163
7329
7624
7674
8164
8250
8903
9%38
9009
94))
9413
9748
etri
prin
s'* 
t('T

İyi eğlenceler!


Bu yöntemde bir güvenlik açığı buldum, ancak kırılmasına izin vereceğim. Daha güvenli olduğunu umduğum bir cevap daha gönderdim.
xnor

8
print('Tetris'* (3580048039607960824098110131314133014381502228523172479258529553116373838184169435643604632480050165153525653945598563157585840631264256539704571638903974876749009825073297156762481649%38941394))
foobar

1
@foobar Tebrikler! 38941394 mod veya daha sistematik bir şey çok sayıda karıştırdı mı denediniz? Ne kadar zaman aldı? Ayrıca, neden olmasın %3894?
xnor

1
Ben sadece önceden inşa print('Tetris'* (358UNKNOWN94))ettim ve herhangi bir döşemeyi döndürmediğinizden oldukça emin olduğum için, yaptığım tek şey, kalan döşemelerin tüm olası permütasyonlarını inşa etmek, bir araya gelip 358UNKNOWN94, eşit olması durumunda değerlendirilmek 1yerine UNKNOWN, permütasyon ile değiştirildi. . Bu yüzden %3894ilk önce farklı bir eşleşme permütasyonu bulunduğum için kullanmadım ;) Tam olarak ne kadar sürdüğünü bilmiyorum, ama tek bir çekirdeği kullanmak yaklaşık 20 dakika sürdü. Bu yüzden aslında daha az sistematik bir şey kullandım, sadece çözümü zorladım;)
foobar


5

JavaScript - Alan 80

Görünüşe göre bu cevapların çoğu sadece bir sürü I parçası ve bir veya iki parça O kullanıyor, bu yüzden bunu daha ilginç şekillerle birlikte attım.

  • 7 adet
  • 1 L parça
  • 1 J parçası
  • 4 O adet
  • 6 adet
  • 1 S parça

Her parça iki boşlukla ayrılır. İki karma işareti aslında koddaki boşluklardır.

l  n  \  /  ;  +  r
o  -  x  c  v  (  i
g  (  5  o  a  ;  s    )  o    //  #c  ns  ->   )    "    d    l    e    l    wi
(  "  4  n  r  ;  "  x65  log  ;/  ")  ].  "c  "(#  o+\  ave  ow"  t"o  "Te  [" 

İyi eğlenceler!


5

Javascript, alan 420

Sadece ben-bloklar.

!!!(
!!!+
!!!+
!!![
!!!]
!!!]
!!!]
!!!]
!!!]
!!'!
!![]
!!]]
!(!+
!(![
!+!]
!+!]
!+"+
!++)
!++[
!++[
!++[
!++[
!++]
![+[
!](+
(!!'
(!!+
(!(]
(++!
(['[
)!'!
)[)[
)]]!
+++"
+++)
++++
+++[
+++]
++])
+[+[
+[[[
+]'+
+]']
+]+[
+]+[
+]]!
+]]!
+]]!
+]]!
+]]'
+]][
+]]]
[!!+
[!!+
[!!+
[!!+
[!!+
[!!]
[!+!
[![[
[![[
[((!
[))!
[){!
[+'+
[++)
[++]
[[)+
[[+[
[[[!
[[['
[[[+
[][]
[]]]
[{[[
]!(!
]!]+
]['[
][[!
][[!
][[!
][[!
][[(
][[+
][[+
][[[
][[[
][]]
][}!
]]T]
]][(
]]]!
]]]!
]]]'
]]])
]]]]
]}]]
a['!
e]'(
l++[
v).!
{[[[
{]g]
})')
}]]]

Herhangi bir standart obfikatör kullanılmadı. Şaşırtma ve bu sıralı blokların listesi de dahil olmak üzere tüm kodlar, kendi kodumun 16 satırından az bir sürede yapılır.


Nasıl yapıldığını göstermenin zamanı geldi:

x="+[],+!![],+!![]+!![],+!![]+!![]+!![],+!![]+!![]+!![]+!![],+!![]+!![]+!![]+!![]+!![],+!![]+!![]+!![]+!![]+!![]+!![],+!![]+!![]+!![]+!![]+!![]+!![]+!![],+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![],+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]".split(/,/g)
res={}
for(q=0; q<x.length; ++q) res[eval(x[q])]=x[q]
function add(str) { for(q=0;q<Math.min(str.length,10);++q) res[eval(x=str+"["+res[q]+"]")]=x }
add("({}+[])")
add("(![]+[])")
add("(!![]+[])")
add("([][[]]+[])")
code = 'eval('+Array.prototype.map.call('console.log("Tetris")',function(x){return res[x]||"'"+x+"'"}).join("+")+')'
res=[]
console.log(code)
code.replace(/(.)(?=.{104}(.).{104}(.).{104}(.))/g,function(m,a,b,c,d){res.push(a+b+c+d)})
eval(res.map(function(x){return x[0]}).join("")+res.map(function(x){return x[1]}).join("")+res.map(function(x){return x[2]}).join("")+res.map(function(x){return x[3]}).join(""))
console.log(res.sort().join("\n"))

Yani, sadece 420 sembol uzunluğunda olan evalkarışık 'console.log("Tetris")'tartışmalara çağrı . 105 sembolden oluşan 4 satıra bölünür ve sütunlarla okunur ve alfabetik olarak sıralanır.

10 basamak için şaşırtma, kodlanmış, diğer semboller için kullanılan ilk addfonksiyonlardan 4 kombinasyondan 10 sembol . Bazı semboller için bir şaşırtma yoksa, olduğu gibi aktarılır.


Nasıl yapıldığını bildirmenin zamanı geldi mi?
Qwertiy

@Qwerity Evet, isterseniz.
Calvin'in Hobileri

Açıklama eklendi.
Qwertiy

4

C, 80 alanı

12 Iadet ve 8 Oadet yapılmış. C sözdizimi her zaman eğlencelidir.

I belirli bir düzende olmayan parçalar:

 c[] // starts with a space
','n
',;}
(q){
,',  // ends in a space 
u>6/
T2sr
char
main
q/**
t#1'
ts(c

O adet:

q<
pu

't
i'

Ir
$'

/}
);

'?
re

',
`:

"e
i>

={
,0

2
main(q){char c[] ={'/T','$"e','t' ,0162,'rIi>`:i', '?#>s',q<q/**/}; return puts(c);}
jimmy23013

@ user23013 Tebrikler!
es1024

4

CJam, 60 (15 O)

71 05 37 23 36 04 27 69 32 :i 12 93 bi i] 43
69 44 71 71 -# 70 10 25 44 cb 93 20 *G 9B 62

Çözüm

27
10
96
17
54
04
52
96
71
37
12
93
43
62
29
03
07
40
44
23
72
13
]B
i9
*b
Gi
6#
3-
ib
:c


4

Befunge, 360 alanı

90 Oparça.

 "
#6

 "
#^

 #
# 

 #
4 

 +
$ 

 +
0>

 +
v_

 0
> 

 3
# 

 >
\ 

 ^
/1

 _
v8

 v
$,

 ~
*=

!!
00

!<
v>

"!
< 

"<
#^

">
^<

"v
# 

"v
w\

# 
 #

# 
|_

#*
_*

#0
.@

#3
~#

#?
t@

#^
RI

#v
~>

#~
~#

$ 
!4

&v
v#

*#
"#

**
>^

+1
>^

+5
 ,

+^
S"

- 
#"

-#
2\

-~
 #

0 
|>

00
00

0<
v\

2,
+#

2v
^v

3#
< 

3#
>2

3~
^-

47
31

6 
6#

70
"T

8#
:\

:#
 #

:$
$*

:0
3<

< 
#$

<*
<|

<<
>>

<>
<>

<@
 >

<~
2,

> 
7<

>$
^6

>>
<<

>v
|g

\ 
^ 

\_
 !

^ 
<s

_!
>9

_$
ET

kr
 >

m~
#3

q~
~+

r^
c 

t~
, 

v 
 ?

v/
_$

v4
>>

v7
>#

v<
>#

v<
>#

v>
:^

v~
1/

zr
 $

~#
#~

~#
\#

~$
7>

~3
$_

~v
\$

~~
~#

Sen edebilirsiniz burada deneyin .

3#~#~vm~00-~q~\_:$:#r^&v_!!<v<
>2\#\$#300 #~+ !$* #c v#>9v>>#
"v0< 36 v < ~~ ^<~^ <<<@\ -##v
w\v\# 6# ?#$~#/12,<s>> >^ 2\~>
"> +>$ +:0 _ #2,v/$ >>v4v7- 3~
^<0>^6v_3<v84 +#_$!4<<>>>##"^-
<*8#> #0 v ~v~2v#~~#kr"v "zr"<
<|:\7<.@$,*=1/^v~##~ ># #6 $#^
#*+1# 3# 0470 >vv< ## ~$t~ "<>
_*>^|_< > 31|>|g>##  #7>, #^<>
70_$#^+^~3 +** >v>!!+5#3*#"!#?
"TETRIS"$_$ >^\ :^00 ,~#"#< t@

Muhtemelen başka çözümler de var. Ben tuğlaları döndürmedim.


Bu şimdiye kadar gördüğüm ve izlediğim en karmaşık Befunge programlarından biri. Çok zeki!
El'endia Starman

3

Python 3: 340 alanı [Yeniden oluşturuldu]

IBurada 85 parçadan oluşuyor, her satırda bir tane alfabetik olarak yazılıyor.

    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces
    #Four spaces        
))  #Two spaces
0290
0398
0866
0887
0892
0992
1108
1268
1297
1339
1555
1722
1817
1848
1930
2328
2521
2611
2747
3179
3192
3245
3284
3334
3613
3862
4086
4629
4639
4674
4695
4781
4968
5723
5742
5791
5938
6011
6069
6180
6231
6265
6269
6444
6564
6776
6884
7116
7253
7348
7440
7527
7743
7873
8064
8291
8808
8843
9305
9324
9458
9460
9586
9869
====
a,b,
abcd
c)-d
etri
pow(
prin
s'*(
t('T

Python listesi olarak:

['    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '))  ', '0290', '0398', '0866', '0887', '0892', '0992', '1108', '1268', '1297', '1339', '1555', '1722', '1817', '1848', '1930', '2328', '2521', '2611', '2747', '3179', '3192', '3245', '3284', '3334', '3613', '3862', '4086', '4629', '4639', '4674', '4695', '4781', '4968', '5723', '5742', '5791', '5938', '6011', '6069', '6180', '6231', '6265', '6269', '6444', '6564', '6776', '6884', '7116', '7253', '7348', '7440', '7527', '7743', '7873', '8064', '8291', '8808', '8843', '9305', '9324', '9458', '9460', '9586', '9869', '====', 'a,b,', 'abcd', 'c)-d', 'etri', 'pow(', 'prin', "s'*(", "t('T"]

Bir hata yaptım ve çok fazla yapıştırdım. Şimdi düzelttim, ancak yeniden yapılanmalar, lütfen düzenleme geçmişine bakma.
xnor

2
Bilginize, ödemesiz süre içinde düzelttiniz, bu yüzden endişelenecek bir düzenleme tarihi yok.
Nathaniel,

Ana listede 4 boşluk bloğundan iki tanesi eksik.
feersum

@feersum Tebrikler! Ben böyle çıkıntıları kullanmayı düşünmedim. Yeni ve daha iyi bir karmakarışık yapmak için zamanı.
xnor


3

Python 3: 160 alanı

Feersum çatlamasından sonra , kriptografik mumbo- jumbodan kaçınmayı zorlaştırmak için kodumu sıkmaya çalıştım. Sıra Ibaşına listelenen 40 parçadan oluşur:

')    #Two spaces
)-d)
*'Te
,b,c
0484
0824
2448
2562
3094
3762
3896
4052
4233
4562
5266
5277
5400
5885
5927
5965
6080
6720
6808
6884
7568
7856
7963
8609
8639
8665
8732
8892
9206
9893
====
abcd
ow(a
prin
t((p
tris

Python listesi olarak:

["')  ", ')-d)', "*'Te", ',b,c', '0484', '0824', '2448', '2562', '3094', '3762', '3896', '4052', '4233', '4562', '5266', '5277', '5400', '5885', '5927', '5965', '6080', '6720', '6808', '6884', '7568', '7856', '7963', '8609', '8639', '8665', '8732', '8892', '9206', '9893', '====', 'abcd', 'ow(a', 'prin', 't((p', 'tris']

Değişen:

  • Zorla denemek için yeniden düzenlenmiş dize çarpımı pow için yeniden
  • Daha az boşluk (daha kısa sayılar olsa da)
  • Hayır 1'ın

Ancak bölgenin birçok faktörü hakkında endişeliyim.


2

C - Alan 72

Bloklar:

I    J     _______ L ______       O      __ Z _     _______ T ______
          /                \   /    \   /      \   /                \
"    e    m   "   T   )   6    };  ii   3"   (.    \nn  {6"  ]"0  i%s
i    t    p   ,   &   m   1    -]  ar    "\   f(    t    8    e    T
s   )"    .[  0x  ,f  ai  0r
"  

 ""   (t   ["
)"   61   4+
\____   ____/
      S

Diğer C sunumu kırıldığından beri. ;)

Düzgün 72 karakter. Saf şaşırtmaca. Çözülmesi gereken NP zor problemler veya faktör için tamsayılar yoktur. Bazı numaralardan en iyilerden ödünç al. Boşluklar .s kullanılarak temsil edilir . Gerçek değil. görünmüyor.

Parçaların geçerliliğini sağlamak için çözümü üç kez kontrol ettim.


2

CJam, 80 alanı

20 Oparça.

 I
`7

&d
'X

+5
7m

-2
`-

-6
#b

-O
U[

3Z
Pi

4"
2X

43
P"

?<
5b

D:
.=

FH
uL

K`
~C

QT
:c

[^
+9

aj
^F

hD
dP

tn
6 

uq
KG

x6
CF

-24"hD&d ID:uqx6tn-OajFH43[^+5?<3ZK`-6QT
`-2XdP'X`7.=KGCF6 U[^FuLP"+97m5bPi~C#b:c

Ben tuğlaları döndürmedim.


2

C - Alan 780

Toplamda 195 adet var. Yorum kullanılmadı. Özellikle karmaşık bir şey yok.

Not: Tüm ters eğik çizgiler ( \) boşluklarla değiştirilmelidir.

95 IParça:

____ x12
incl
\edu
\\\\
\\\\
\\\\
dts<
h.oi
*_*>
_,_(
int\
__;\
,_(_
_*_,
=__,
__"*
+|_;
r__+
ahct
)=pu
_\ra
f\ch
edep
#t_,
y___
*_;_
(_;-
){__
,<_\
9"=_
+__*
___;
_+>_
_??<
+__*
*__,
__*_
*=+_
__:-
___-
_+__
,___
,__,
_,*&
*\&*
_,*_
_++,
+,__
++++
+__=
_++,
,,,_
___+
=+__
?++_
___+
=__+
,<_*
__+*
&+;*
+*__
__*_
__+,
++?~
__-9
_?__
__*_
(_+_
[**(
_<&_
};__
_@A:
(nia
@@@@
AAAA
AAAA
~~~~
_++;
_&,)
A__+
~~__
g_""
_;}_
+*__

35 OParça:

__
__
 (x18)
)_
__

_*
_\

_;
,-

_*
__

~)
"{

+_
+_

*_
,_

__
_)

~~
a~

_,
__

__
,)

_:
__

+*
__

__
+,

*+
_+

AA
AA

__
,+

18 LParça:

___
_
 (x2)
_;*
_
_=_
+
__*
_
+__
_
**_
&
+*_
_
&*&
,
++,
_
_*_
_
;;_
"
__+
_
AAA
~
"*)
;
___
(
,_-
_
_~^
_

25 JParça:

_+=
  +
+,_
  _
*__
  ;
;;_
  \
_,_
  )
~~~
  _
___
  A
~;(
  _
;__
  i
_;m
  A
=__
  _
a;a
  A
="A
  a
~_\
  o
o_a
  a
~~~
  _
99-
  _
*9_
  _
__)
  _
__*
  <
+_,
  _
_++
  =
_+_
  _
++_
  _
_+:
  _

10 adet T:

 _
,__
 +
*?_
 =
**=
 _
__+
 _
:_+
 _
_+_
 _
(_-
 +
++,
 +
___
 *
__:

4 adet Z:

=*
 ++
*+
 __
t_
 -~
__
 f(

8 SParça:

 _,
_,
 __
__
 (x2)
 -_
__
 (x2)
 _9
~_
 99
__
 __
],

Çözüm

#include <stdio.h> typedef char _________; int (* _____)()=putchar;____(_,___,__ ,______) _________*__,* *___,* ______;{__="9>?_|";______=*___ ;--_;--_<*__++?++*______,_+=_+ _:___,__,___;_<*__++?*______+= *______,++______,__,*______+=* ______,__,++______,*&*______+= *______,++______,* &*______+=* ______,++______,*&*&*______+=* ______,++______,_,*______+=*&* ______,_+=_+_:__,_;_<*__++?++* ______++,++*______++,++*______ ++,++*______++,++*&*______++,_ ,++*______,_+=_+_+_+_:______;_ <*__++?~_____(_-_+_-_)^~_____( *______),++*___,_____,_,_+=*&* ______,_+_:_____(_+_-_-_);;_<* __?--*______:___;}_________ _[ 999-99-99],*__=_;main(______){ _________*___="AAA@@@@@~~~~~~" "~~~~~~aAAAAAaAAAAAAAAAAAAA;;" "aa~~~~~~~~~a;a";_____:____((* ___-______),&__);if(__,*++___) goto _____;++______;++______;}


1

Wolfram, bölge 72

Bir çizgi (-) gördüğünüz her yerde, bir boşlukla değiştirin

ben

h01-

r*1/

j

6
115

l

  m
+1C

  t
*0e

  e
,,[

O

r4
a+

s

 10
-1

 +1
Pr

z

ro
 8*

ac
 -1

od
 +1

t

--F
 {

,50
 0

/]}  -- fixed bracket directions
 0

1-,
 ,

01C
 0

tni
 4

Wolfram dilini mi kastediyorsunuz (yani Mathematica)? Tüm braketleriniz ve destekleriniz aynı yöne işaret eder - blokları döndürürken yanlışlıkla onları çevirdiniz mi?
Martin Ender

1
Tamam evet, üçüncü Tbloktaki dirsek ve destek diğer taraftaki yuvarlak olmalıdır. Yeniden inşa etmeyi başardım .
Martin Ender

Wolfram dili, evet. Oh hayır, bir hata yaptım! Buna rağmen çözdüğünüz için tebrikler!
Gerli

T'yi düzelttim. Kodu yazdım ve zihinsel egzersizi azaltmak için kağıdı döndürdüm ... Sembollerin de değiştiğini hesaba katmayı unuttum ...
Gerli

0

MATLAB, alan 48

Maalesef, Octave’da işe yaramadı.

-
^-1

'
'u"

v'+
e

[['
;

'.i
]

lmi
a

 kv
hW

 .x
).

3)
t;

b(
'p

('l; 

.]'e

0

Python 3 176 Alanı

Bu programda alt çizgi kullanmıyorum, bu yüzden daha fazla okuma için tüm alanları alt çizgi ile değiştirmeye karar verdim. Tekrar bir araya getirmediklerinde tekrar yerlere yerleştirdiğinizden emin olun.

Ben Bloklar:

1456

"jtr

\)\~

tris

],i)

t=""

2697

t(t[

_r+2

_r_i

O Blokları:

i_
s_

_;
32

6#
an

".
+-

t)
in

n(
_[

""
(c

ap
ri

L Blokları:

  =
#14

  .
\n"

  ;
"(t

  i
T%"

  o
:=i

  r
ioj

  6
mp#

J Blokları:

6
2(h

5
574

#
"=t

7
spl

f
o__

s
(s_

n
];#

0    
t=_

*
#)(

T Blokları:

=_1
 _

295
 r

21,
 r

,2)
 .

Z Blokları:

46
 ""

"5
 3"

#t
 )n

1t
 ),

S Blokları:

 ge
34

 nt
68

0

Python 3

Alan - 484

İle değiştirilen boşluklar % . Dolgu olarak kullanılan bazı yorumlar vardır. Biraz kod tekrarı. Oldukça karmaşık olabilir.

121 Os

41
)+

%r
1-

:#
1#

%r
1-

01
,+

a1
n+

))
0+

h1
r-

#0
##

--
ge

11
1-

hr
1-

--
-1

ap
0+

+1
+'

h0
r+

:1
##

11
1-

))
0+

a0
p+

n0
d+

f%
oz

-1
0+

hr
1-

n0
d+

a0
p+

a1
n+

+0
1+

hf
.=

i1
%-

f%
oa

a1
n+

(c
0+

(0
1+

0,
1+

i1
n+

in
1+

r+
%=

-0
1+

fo
%l

n'
d'

--
=1

p1
%-

-;
-a

-;
-h

a1
n+

pe
0+

pe
0+

-1
0+

n0
d+

11
0-

a0
p+

i1
n+

hz
.=

n0
d+

##
)#

5)
1+

g(
1-

%1
r-

(c
.j

(0
c+

11
0-

(z
n(

g(
1-

41
)+

)s
)'

in
1+

r+
%=

ap
in

g(
1-

01
,+

-a
-n

(l
1+

pt
e(

%1
r-

-#
]#

(1
f+

g1
(-

h.
l=

01
,+

h.
pr

:1
##

:#
1#

(1
z+

r+
%=

+1
0+

p0
e+

r%
+=

(a
0+

hz
.=

+0
1+

(0
c+

))
0+

#0
##

q%
1-

g1
e-

-0
1+

#0
##

pe
0+

-1
h)

61
)+

an
1+

--
ng

fo
%f

)0
)+

f%
oz

-=
-[

11
)+

q1
%-

:#
1#

+0
1+

--
=r

j1
%-

ho
ri

#-
ra

(0
c+

i1
n+

,1
8-

r+
%=

%1
r-

##
0#
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.