Jumblers vs Rebuilders: Coding with Tetris Bricks


34

W tradycyjnym Tetris istnieje 7 różnych cegieł tetromino , z których każda jest oznaczona literą podobną do kształtu.

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

Rozważ rozmieszczenie tych cegieł, które mogą tworzyć solidny prostokąt W × H, dla niektórych liczb całkowitych dodatnich W i H. Na przykład, używając 2 I, 1 L, 1 J, 2 T i 1 S, prostokąt 7 × 4 może być wykonane:

IIIITTT
LIIIITJ
LTTTSSJ
LLTSSJJ

Te same cegły można przestawiać (przesuwając i obracając, ale nie odwracając ) w inny wzór 7 × 4:

IJJTLLI
IJTTTLI
IJSSTLI
ISSTTTI

Teraz rozważ użycie prostokątnego bloku kodu zamiast pierwszego układu. Na przykład ten 7 × 4 bit Pythona 3, który wypisuje Tetrisna standardowe wyjście:

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

Według pierwszego układu Tetris jego 7 „klocków” to ...

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

W drugim układzie (jednym z wielu możliwych) są one niezrozumiałe jako kod:

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

Ale biorąc pod uwagę cegły osobno, może być możliwe ich prawidłowe złożenie. To jest podstawa wyzwania.

Wyzwanie

To wyzwanie dla . Istnieją dwie konkurujące role, Jumblers i Rebuilders .

Jumblery przesyłają odpowiedzi z blokami kodu, które zostały podzielone na klocki Tetris.

Rebuilderzy próbują odbudować te bloki w osobnym dedykowanym im pytaniu : Jumblers vs. Rebuilders: Coding with Tetris Bricks - Area for Rebuilder Answers .

Jumblers

Używając tylko drukowalnego ASCII (kody szesnastkowe od 20 do 7E) napisz program prostokątny W × H. Po uruchomieniu musi wypisać jedyne słowo Tetrisna standardowe wyjście (lub najbliższą alternatywę). Nie zamieszczaj tego kodu w odpowiedzi; nie podawaj W ani H.Podziel je na układ klocków Tetris jak na powyższym przykładzie i opublikuj je w swojej odpowiedzi. (Twój kod może zawierać spacje, ale ponieważ trudno je rozróżnić, najlepiej jest użyć innego znaku zamiast spacji i powiedzieć ludziom, czego użyłeś).

Im trudniej jest odbudować program, tym lepiej. Istnieje wiele sposobów na przestawienie cegieł kodowych w prostokąt, prawdopodobnie o różnych wymiarach. To, co robi kod, gdy działa w tych różnych aranżacjach, nie ma znaczenia, dopóki co najmniej jeden aranż jest drukowany Tetrisna standardowe wyjście.

Jedynym innym ograniczeniem jest to, że W * H będzie mniejsze niż 1025.

Jumblery powinny określić swój język programowania (i wersję).

Odbudowują

Twoim celem jest wzięcie klocków Jumblera i ułożenie ich z powrotem w ich oryginalnej kolejności, tak aby Tetrisbyło drukowane po uruchomieniu kodu. Jeśli znaleziony przez ciebie układ roboczy nie jest tym, o którym pomyślał Jumbler, to dla nich szkoda.

Pamiętaj, że tylko translacje i rotacje są dozwolone w przegrupowaniach, a nie dublowaniu.

Punktacja

Za każdym razem, gdy przesłanie jest przebudowywane, jest uważane za „pęknięte” i nie jest już uruchomione. Pierwszy Rebuilder, który odbudował zgłoszenie, otrzymuje za to kredyt. Jeśli odpowiedź nie zostanie zerwana przez 72 godziny, Jumbler powinien ujawnić rozwiązanie i odtąd będzie odporny na pękanie. Jumbler musi to zrobić, aby wygrać, ponieważ w przeciwnym razie nie będzie jasne, czy w ogóle istniało rozwiązanie.

Zwycięski Jumbler to nieskradziona odpowiedź z najmniejszym obszarem (W * H = 4 * liczba cegieł). W przypadku remisu wygrywa najwyższa głosowana odpowiedź. Odpowiedzią na to pytanie będzie zwycięski Jumbler.

Zwycięski Rebuilder to użytkownik, który łamie najwięcej zgłoszeń. W przypadku powiązań trafia do każdego, kto złamał najbardziej skumulowany obszar.

Notatki

  • Nie możesz odbudowywać własnych zgłoszeń. (Ale w przeciwnym razie możesz przyjąć obie role).
  • Odbudowujący nie mogą próbować złamać tej samej odpowiedzi więcej niż raz.

Tablica wyników

Posortowane od najstarszego zgłoszenia do najnowszego.

+--------------+-------------+------------------+---------+----------+----------------+-------------------------------------------+-------------------------------------------+
|   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 |                                           |
+--------------+-------------+------------------+---------+----------+----------------+-------------------------------------------+-------------------------------------------+

(Dzięki http://www.sensefulsolutions.com/2010/10/format-text-as-table.html za formatowanie tabeli.)

Użytkownik COTO stworzył doskonałe narzędzie do gry klockami . Przekształciłem go w wygodny fragment:

<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
Brzmi jak praca dla Befunge.
Martin Ender

8
Czy OP mógłby nam powiedzieć, jak udało mu się wymyślić takie rzeczy?
Soham Chowdhury

5
@SohamChowdhury Nie mogę powiedzieć nic więcej, niż już powiedziałem . Moje główne założenia to prostota i oryginalność .
Calvin's Hobbies

Czy nadal mogę zgłosić problem, czy wyzwanie to jest zamknięte dla Jumblerów?
ASCIIThenANSI

@ASCIIThenANSI Śmiało. Jednak niewielu przebudowujących wciąż jest w pobliżu.
Hobby Calvina

Odpowiedzi:


3

GolfScript 48

I sztuk:

!;..  )+?;

O sztuk:

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

T sztuk:

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

J sztuk:

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

Rozwiązanie

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


Tak, oops. Użyłem go do stworzenia kawałków tetris. Zredagowałem go wystarczająco szybko, aby link „edytowany” nie pojawił się, więc ludzie nie powinni móc przeglądać historii edycji odpowiedzi.
SamYonnou,

Cóż, nie chcę zepsuć gry, ale miejmy nadzieję, że tylko ja tak szybko otworzyłem stronę. ;)
Martin Ender

Wiem, że to już dawno spóźnione, ale oficjalnie kończę konkurs i chyba, że ​​się mylę, to zgłoszenie wygrało! Sam, zaakceptuję tę odpowiedź, jeśli opublikujesz rozwiązanie, aby udowodnić, że było to w rzeczywistości możliwe.
Calvin's Hobbies

@ Calvin'sHobbies Done
SamYonnou,

23

Java: obszar 360

Nagroda: 500

Rekonstrukcja tych rzeczy jest trudna! Prawdopodobnie dlatego w tym wyzwaniu nie ma zbyt wielu rabusiów. Chcę jednak, aby moje pękło. Zamiast dawać rozwiązanie po 72 godzinach, wystawiam 500 powtórzeń na pierwszy udany cracker. Aby to wyjaśnić, dodam nagrodę +500 do posta z odpowiedzią i przyznam ją twojemu crackowi, jeśli złożysz te elementy w dowolny działający prostokątny program Java, który wyprowadza „Tetris”. Nie zapobiegawczo aktywuję nagrodę, ponieważ nie mam ochoty marnować przedstawiciela, jeśli nikt nie odpowie.

Nie ma daty końcowej tej oferty. Jest ważny tak długo, jak jestem tutaj członkiem. Aby upewnić się, że widzę twoją odpowiedź, wyślij mi ping z komentarzem poniżej.

Trzykrotnie sprawdziłem, aby upewnić się, że elementy (i kod) są prawidłowe, ale jeśli zaufany użytkownik chce to potwierdzić, mogę wysłać e-mailem / coś do nich. Oczywiście zwolniłoby to ich z opublikowania i odebrania nagrody.

Wykonane z mieszanki wszystkich siedmiu rodzajów sztuk. Aby to ułatwić (?) Upewniłem się, że wszystkie elementy tego samego typu są obrócone w tej samej orientacji. Ponieważ Java ma części, których nie można wiele zmienić, zostawiłem te naprawdę oczywiste części jako proste I-bloki, aby je uruchomić.

Uwaga: Ponieważ Java ma kilka obowiązkowych spacji, zamieniłem je na podkreślenia ( _) poniżej dla celów układu. Jest ich w sumie 11 i wszystkie powinny zostać przekonwertowane na spacje, aby uruchomić kod. W kodzie nie ma innych białych znaków, wszystkie poniżej służą wyłącznie do pozycjonowania.

Tam są:

  • 41 I
  • 15 O
  • 11 J
  • 8 l
  • 6 T.
  • 6 S.
  • 3 Z

Baw się dobrze!

------------- 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;

Czy którykolwiek z bloków kodu musi zostać obrócony, aby utworzyć prawidłowe (a przynajmniej zamierzone) rozwiązanie?
El'endia Starman

@ El'endiaStarman Tak, musisz obrócić część dla zamierzonego rozwiązania.
Geobits,

12

Brainfuck, obszar 108

Ten kod został złożony z 27 części I.

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

Nie wiem, czy istnieje jakikolwiek inny sposób niż brutalna siła, aby znaleźć odpowiedź. Jeśli tak, naprawdę chciałbym wiedzieć, jak to zrobić.


9

Obszar Python 3: 212 [Przebudowany]

Mój kod jest podzielony na następujące 53 Ielementy, które napisałem jeden w wierszu alfabetycznie.

(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

Baw się dobrze!


Znalazłem lukę w tej metodzie, ale zostawię ją do złamania. Opublikowałem kolejną odpowiedź, która, mam nadzieję, jest bezpieczniejsza.
xnor

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

1
@foobar Gratulacje! Czy próbowałeś dużo tasowania mod 38941394 lub coś bardziej systematycznego? Jak długo to zajęło? A czemu nie %3894?
xnor

1
Właśnie zbudowałem print('Tetris'* (358UNKNOWN94))i ponieważ byłem całkiem pewien, że nie obróciłeś żadnych płytek, wszystko, co zrobiłem, to zbudowałem wszystkie możliwe kombinacje pozostałych płytek, połączyłem je razem i oceniłem, czy 358UNKNOWN94jest równy 1, a ja zastąpiłem UNKNOWNpermutacją . Więc nie użyłem, %3894ponieważ najpierw znaleziono inną pasującą permutację;) Nie wiem, ile dokładnie to zajęło, ale zajęło to około 20 minut przy użyciu jednego rdzenia. Użyłem więc czegoś mniej systematycznego, po prostu brutalnie zastosowałem rozwiązanie;)
foobar

1
@ MartinBüttner gotowe;) codegolf.stackexchange.com/a/40203/19475
foobar

5

JavaScript - obszar 80

Wydaje się, że wiele z tych odpowiedzi używa tylko wielu kawałków I, a może kawałka O lub dwóch, więc rzuciłem to razem z niektórymi bardziej interesującymi kształtami.

  • 7 I sztuk
  • 1 l sztuka
  • 1 szt
  • 4 sztuki
  • 6 szt
  • 1 szt

Każdy element jest oddzielony dwoma spacjami. Dwa znaki skrótu są w rzeczywistości spacjami w kodzie.

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  [" 

Baw się dobrze!


5

JavaScript, obszar 420

Tylko ja-bloki.

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

Nie użyto żadnych standardowych zaciemniaczy. Cały kod, w tym zaciemnianie i tworzenie tej posortowanej listy bloków, składa się z mniej niż 16 wierszy mojego własnego kodu.


Czas pokazać, jak powstał:

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"))

Jest to po prostu wywołanie evalz zaciemnionym 'console.log("Tetris")'argumentem, który ma 420 symboli długości. Jest podzielony na 4 linie po 105 symboli i odczytywany według kolumn i posortowany alfabetycznie.

Zaciemnienie dla 10 cyfr jest zakodowane na stałe, dla innych symboli użyto pierwszych 10 symboli z 4 kombinacji przekazanych do addfunkcji. Jeśli nie ma zaciemnienia dla jakiegoś symbolu, jest on przekazywany w niezmienionej postaci.


Czy nadszedł czas, aby opublikować, jak to zrobiono?
Qwertiy

@ Pytanie Tak, jeśli chcesz.
Calvin's Hobbies

Wyjaśnienie zostało dodane.
Qwertiy

4

C, powierzchnia 80

Wykonany z 12 Isztuk i 8 Osztuk. Składnia C jest zawsze zabawna.

I elementy w określonej kolejności:

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

O sztuk:

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 Gratulacje!
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

Rozwiązanie

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, obszar 360

90 Osztuk.

 "
#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
\$

~~
~#

Możesz spróbować tutaj .

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@

Prawdopodobnie istnieją inne rozwiązania. Nie obracałem cegieł.


Jest to jeden z najbardziej skomplikowanych programów Befunge, jakie kiedykolwiek widziałem i oglądałem. Bardzo mądry!
El'endia Starman

3

Obszar Pythona 3: 340 [Przebudowany]

Wykonany z 85 Ielementów, podanych tutaj alfabetycznie po jednym w wierszu.

    #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

Jako lista Python:

['    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '))  ', '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"]

Popełniłem błąd i wkleiłem za dużo. Naprawiłem to teraz, ale odbudowujący, proszę nie przeglądaj historii edycji.
xnor

2
Do Twojej wiadomości, naprawiłeś to w okresie karencji, więc nie musisz się martwić historią edycji.
Nathaniel

Na głównej liście brakuje dwóch z 4-spacjowych bloków.
feersum

@feersum Gratulacje! Zupełnie nie pomyślałem o takim zwisie. Czas na nową i lepszą mieszankę.
xnor


3

Obszar Pythona 3: 160

Po pęknięciu feersum próbowałem zaostrzyć kod, aby trudniej było uniknąć kryptograficznego mumbo-jumbo. Składa się z 40 Ielementów, wymienionych po jednym w rzędzie:

')    #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

Jako lista Python:

["')  ", ')-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']

Zmieniono:

  • Zmieniono kolejność mnożenia ciągów, aby wymusić powużycie
  • Mniej spacji (choć krótszych liczb)
  • Brak 1„s

Martwię się jednak wieloma czynnikami tego obszaru.


2

C - Obszar 72

Bloki:

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

Ponieważ jedyne inne zgłoszenie C zostało złamane. ;)

Zgrabne 72 znaki. Czyste zaciemnianie. Żadnych trudnych do rozwiązania problemów NP lub ogromnych liczb całkowitych do uwzględnienia. Pożycza kilka sztuczek od jednego z wielkich. Spacje są reprezentowane za pomocą .s. W rozwiązaniu nie .pojawiają się żadne rzeczywiste litery.

Potrójnie sprawdziłem rozwiązanie, aby zapewnić ważność elementów.


2

CJam, obszar 80

20 Osztuk.

 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

Nie obracałem cegieł.


2

C - Obszar 780

Łącznie jest 195 sztuk. Nie użyto żadnych komentarzy. Nic szczególnie skomplikowanego.

Uwaga: wszystkie odwrotne ukośniki (\ ) należy zastąpić spacjami.

95 Isztuk:

____ 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 Osztuk:

__
__
 (x18)
)_
__

_*
_\

_;
,-

_*
__

~)
"{

+_
+_

*_
,_

__
_)

~~
a~

_,
__

__
,)

_:
__

+*
__

__
+,

*+
_+

AA
AA

__
,+

18 Lsztuk:

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

25 Jsztuk:

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

10 Tsztuk:

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

4 Zsztuki:

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

8 Ssztuk:

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

Rozwiązanie

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


1

Wolfram, obszar 72

Wszędzie, gdzie zobaczysz myślnik (-), zamień go na spację

ja

h01-

r*1/

jot

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

Masz na myśli język Wolfram (tj. Mathematica)? Wszystkie wsporniki i nawiasy klamrowe są skierowane w tym samym kierunku - czy przypadkowo odwróciłeś je podczas obracania bloków?
Martin Ender

1
Okej, wspornik i klamra w trzecim Tbloku powinny być odwrotnie. Udało mi się go odbudować .
Martin Ender

Język Wolfram, tak. O nie, popełniłem błąd! Gratulujemy rozwiązania tego problemu!
Gerli

Naprawiłem T. Wydrukowałem kod i obróciłem papier, aby zmniejszyć wysiłek umysłowy ... Zapomniałem wziąć pod uwagę fakt, że symbole również się zmieniły ...
Gerli

0

MATLAB, obszar 48

Niestety nie działa w Octave.

-
^-1

'
'u"

v'+
e

[['
;

'.i
]

lmi
a

 kv
hW

 .x
).

3)
t;

b(
'p

('l; 

.]'e

0

Python 3 176 Area

Nie używam podkreślników w tym programie, więc postanowiłem zastąpić wszystkie spacje podkreśleniami, aby zwiększyć czytelność. Upewnij się, że umieściłeś je z powrotem w spacji, jeśli nie złożysz ich razem.

I Bloki:

1456

"jtr

\)\~

tris

],i)

t=""

2697

t(t[

_r+2

_r_i

O Bloki:

i_
s_

_;
32

6#
an

".
+-

t)
in

n(
_[

""
(c

ap
ri

Bloki L:

  =
#14

  .
\n"

  ;
"(t

  i
T%"

  o
:=i

  r
ioj

  6
mp#

Bloki J:

6
2(h

5
574

#
"=t

7
spl

f
o__

s
(s_

n
];#

0    
t=_

*
#)(

Bloki T:

=_1
 _

295
 r

21,
 r

,2)
 .

Bloki Z:

46
 ""

"5
 3"

#t
 )n

1t
 ),

Bloki S:

 ge
34

 nt
68

0

Python 3

Obszar - 484

Miejsca zastąpione przez % . Istnieje kilka komentarzy używanych jako wypełnienie. Trochę powtórzenia kodu. Może być dość skomplikowane.

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#
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.