Jumblers vs Rebuilders: Coding dengan Tetris Bricks


34

Dalam Tetris tradisional , ada 7 batu bata tetromino yang berbeda , masing-masing dilambangkan dengan huruf yang mirip dengan bentuknya.

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

Pertimbangkan pengaturan bata ini yang dapat membuat persegi panjang W × H yang solid, untuk beberapa bilangan bulat positif W dan H. Misalnya, menggunakan 2 I, 1 L, 1 J, 2 T, dan 1 S, sebuah persegi panjang 7 × 4 dapat dibuat:

IIIITTT
LIIIITJ
LTTTSSJ
LLTSSJJ

Batu bata yang sama dapat disusun kembali (dengan menggerakkan dan memutar tetapi tidak membalik ) menjadi pola 7 × 4 yang berbeda:

IJJTLLI
IJTTTLI
IJSSTLI
ISSTTTI

Sekarang pertimbangkan untuk menggunakan blok kode persegi panjang sebagai pengganti pengaturan pertama. Misalnya 7x4 bit Python 3 ini, yang dicetak Tetriske stdout:

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

Menurut pengaturan Tetris pertama 7 "batu bata" adalah ...

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

Dalam pengaturan lain (salah satu dari banyak kemungkinan) mereka tidak dapat dipahami sebagai kode:

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

Tapi, mengingat batu bata secara terpisah, mungkin saja untuk menyatukannya kembali dengan benar. Ini adalah dasar dari tantangan.

Tantangan

Ini adalah tantangan . Ada dua peran yang saling bersaing, Jumblers dan Rebuilders .

Jumblers mengirimkan jawaban dengan blok kode yang telah dipecah menjadi batu bata Tetris.

Rebuilders mencoba membangun kembali blok-blok ini dalam pertanyaan terpisah yang didedikasikan untuk mereka: Jumblers vs Rebuilders: Pengkodean dengan Batu Bata Tetris - Area untuk Jawaban Rebuilder .

Jumblers

Hanya menggunakan ASCII yang dapat dicetak (kode hex 20 hingga 7E) tulis program persegi panjang W × H. Saat dijalankan, ia harus menampilkan satu - satunya kata Tetriske stdout (atau alternatif terdekat). Jangan memposting kode ini dalam jawaban Anda; jangan beri W atau H juga. Pecah menjadi beberapa susunan batu bata Tetris seperti contoh di atas dan posting ini dalam jawaban Anda. (Kode Anda mungkin berisi spasi tetapi karena sulit dibedakan, sebaiknya gunakan beberapa karakter lain sebagai ganti spasi dan beri tahu orang lain apa yang Anda gunakan.)

Semakin sulit untuk membangun kembali program Anda semakin baik. Mungkin ada banyak cara untuk mengatur ulang bata kode Anda menjadi persegi panjang, mungkin dengan dimensi yang berbeda. Apa yang dilakukan kode ketika dijalankan dalam pengaturan yang berbeda ini tidak masalah selama setidaknya satu pengaturan mencetak Tetriske stdout.

Satu-satunya batasan lainnya adalah bahwa W * H kurang dari 1025.

Jumblers harus menentukan bahasa pemrograman mereka (dan versi).

Pembangun ulang

Tujuan Anda adalah untuk mengambil bata-kode Jumbler dan memasukkannya kembali ke urutan semula, jadi Tetrisdicetak saat kode dijalankan. Jika pengaturan kerja yang Anda temukan bukan yang Jumbler pikirkan itu terlalu buruk bagi mereka.

Ingatlah bahwa hanya terjemahan dan rotasi yang diizinkan dalam pengaturan ulang, bukan mirroring.

Mencetak gol

Setiap kali kiriman dibangun kembali itu dianggap "retak" dan tidak lagi berjalan. Rebuilder pertama yang membangun kembali kiriman mendapat kredit untuk itu. Jika sebuah jawaban tidak diacak selama 72 jam, Jumbler akan mengungkapkan solusinya dan selanjutnya akan kebal dari retak. Seorang Jumbler harus melakukan ini untuk menang, karena jika tidak maka akan menjadi tidak jelas apakah ada solusi.

Jumbler yang menang adalah jawaban tidak terputus dengan area terkecil (W * H = 4 * num batu bata). Dalam hal ikatan, jawaban dengan suara terbanyak menang. Jawaban yang diterima untuk pertanyaan ini adalah Jumbler yang menang.

Rebuilder yang menang adalah pengguna yang memecahkan sebagian besar kiriman. Dalam hal ikatan itu berlaku untuk siapa saja yang retak area paling kumulatif.

Catatan

  • Anda tidak boleh membangun kembali kiriman Anda sendiri. (Tetapi jika tidak, Anda dapat mengambil kedua peran.)
  • Rebuilders mungkin tidak berusaha memecahkan jawaban yang sama lebih dari satu kali.

Papan angka

Diurutkan dari pengiriman terlama ke yang terbaru.

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

(Terima kasih kepada http://www.sensefulsolutions.com/2010/10/format-text-as-table.html untuk pemformatan tabel.)

Pengguna COTO membuat alat yang sangat baik untuk bermain dengan bata kode. Saya telah mengubahnya menjadi cuplikan yang nyaman:

<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
Kedengarannya seperti pekerjaan untuk Befunge.
Martin Ender

8
Akankah OP memberi tahu kami bagaimana ia berhasil membuat hal-hal seperti ini?
Soham Chowdhury

5
@SohamChowdhury Saya tidak bisa mengatakan lebih dari yang saya katakan . Prinsip utama saya adalah kesederhanaan dan orisinalitas .
Calvin Hobbies

Masih bisakah saya mengirimkan masalah, atau apakah tantangan ini tertutup bagi Jumblers?
ASCIIThenANSI

@ASCIIThenANSI Silakan. Tidak banyak pembangun kembali yang masih ada.
Hobi Calvin

Jawaban:


3

GolfScript 48

I potongan:

!;..  )+?;

O potongan:

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

T potongan:

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

J potongan:

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

Larutan

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


Ya oops, saya menggunakannya untuk membuat potongan tetris. Saya mengeditnya dengan cukup cepat sehingga tautan "yang diedit" tidak akan muncul sehingga orang-orang seharusnya tidak dapat melihat riwayat edit untuk jawabannya.
SamYonnou

Yah aku tidak ingin merusak gamenya, tapi semoga saja akulah satu-satunya yang membuka halaman secepat itu. ;)
Martin Ender

Saya tahu ini sudah lama terlambat tapi saya secara resmi mengakhiri kontes, dan kecuali saya salah kiriman ini menang! Sam, saya akan menerima jawaban ini jika Anda memposting solusi untuk membuktikan bahwa itu sebenarnya mungkin.
Calvin Hobi

@ Calvin'sHobbies Done
SamYonnou

23

Java: 360 area

Hadiah: 500

Merekonstruksi hal-hal ini sulit! Mungkin itulah sebabnya tidak banyak perampok yang berpartisipasi dalam tantangan ini. Namun, saya ingin melihat milik saya retak. Jadi, alih-alih memberikan solusi setelah 72 jam, saya memasang 500 rep ke cracker pertama yang sukses. Untuk memperjelas, saya akan menambahkan hadiah +500 ke posting jawaban dan memberikannya kepada crack Anda jika Anda memasang kembali potongan-potongan ini ke dalam setiap program Java persegi panjang yang berfungsi yang menghasilkan "Tetris". Saya tidak preemptive mengaktifkan karunia, karena saya tidak merasa seperti membuang tenaga jika tidak ada yang menjawab.

Tidak ada tanggal berakhir untuk penawaran ini. Ini berlaku selama saya menjadi anggota di sini. Untuk memastikan saya melihat jawaban Anda, ping saya dengan komentar di bawah.

Saya telah memeriksa tiga kali untuk memastikan bagian (dan kode) itu valid, tetapi jika pengguna tepercaya ingin mengkonfirmasi ini, saya dapat mengirim email / sesuatu solusi untuk mereka. Jelas, itu akan membebaskan mereka dari mempostingnya dan mengumpulkan hadiah.

Terbuat dari campuran ketujuh jenis keping. Untuk mempermudah (?) Saya sudah memastikan bahwa semua potongan dengan tipe yang sama diputar ke orientasi yang sama. Karena Java memiliki bagian-bagian yang tidak dapat diubah banyak, saya telah meninggalkan bagian yang sangat jelas sebagai blok-I sederhana untuk memulainya.

Catatan: Karena Java memiliki beberapa ruang wajib, saya telah menggantinya dengan garis bawah ( _) di bawah ini untuk keperluan tata letak. Ada 11 dari mereka total, dan mereka semua harus dikonversi ke spasi untuk menjalankan kode. Tidak ada spasi putih lain yang ada dalam kode, apa pun di bawah ini hanya untuk posisi.

Ada:

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

Selamat bersenang-senang!

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

Apakah ada blok kode yang harus diputar untuk membangun solusi yang valid (atau setidaknya, yang dimaksud)?
El'endia Starman

@ El'endiaStarman Ya, Anda perlu memutar beberapa untuk solusi yang dimaksud.
Geobits

12

Brainfuck, 108 area

Kode ini terbuat dari potongan 27 I.

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

Saya tidak tahu apakah ada cara lain selain bruteforce untuk menemukan jawabannya. Jika ada, saya benar-benar ingin tahu caranya.


9

Python 3: 212 area [Dibangun Kembali]

Kode saya dipecah menjadi 53- Ipotongan berikut , yang saya tulis satu per baris menurut abjad.

(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

Selamat bersenang-senang!


Saya menemukan kerentanan dalam metode ini, tetapi saya akan membiarkannya retak. Saya telah memposting jawaban lain yang saya harap lebih aman.
xnor

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

1
@foobar Selamat! Apakah Anda mencoba banyak shuffles mod 38941394 atau sesuatu yang lebih sistematis? Berapa lama waktu yang dibutuhkan? Kenapa tidak %3894?
xnor

1
Saya baru saja membangun print('Tetris'* (358UNKNOWN94))dan karena saya cukup yakin bahwa Anda tidak merotasi ubin apa pun, yang saya lakukan adalah membangun semua permutasi yang mungkin dari ubin yang tersisa, bergabung bersama-sama dan dievaluasi apakah 358UNKNOWN94sama dengan 1, sementara saya diganti UNKNOWNdengan permutasi . Jadi saya tidak menggunakan %3894karena permutasi pencocokan yang berbeda ditemukan pertama kali;) Saya tidak tahu berapa lama tepatnya, tapi itu sekitar 20 menit menggunakan inti tunggal. Jadi saya benar-benar menggunakan sesuatu yang kurang sistematis, saya hanya bruteforced the solution;)
foobar

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

5

JavaScript - Area 80

Sepertinya banyak dari jawaban ini hanya menggunakan banyak potongan I dan mungkin satu atau dua potong O, jadi saya melemparkan ini bersama-sama dengan beberapa bentuk yang lebih menarik.

  • 7 saya potong
  • 1 potong L
  • 1 J sepotong
  • 4 buah O
  • 6 buah T
  • Sepotong 1 S

Setiap bagian dipisahkan oleh dua ruang. Tanda-tanda dua hash sebenarnya spasi dalam kode.

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

Selamat bersenang-senang!


5

Javascript, area 420

Hanya blok-I.

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

Tidak ada obfuscator standar yang digunakan. Semua kode termasuk kebingungan dan membuat daftar blok yang diurutkan ini dibuat kurang dari 16 baris kode saya sendiri.


Saatnya menunjukkan bagaimana pembuatannya:

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

Jadi, itu hanya panggilan untuk evaldengan 'console.log("Tetris")'argumen yang dikaburkan , yang panjangnya 420 simbol. Ini dibagi menjadi 4 baris dari 105 simbol dan dibaca oleh kolom dan abjad diurutkan.

Kebingungan untuk 10 digit hardcoded, untuk simbol lain digunakan 10 simbol pertama dari 4 kombinasi yang dilewati untuk addberfungsi. Jika tidak ada kebingungan untuk beberapa simbol itu dilewatkan begitu saja.


Apakah sudah waktunya memposting bagaimana itu dilakukan?
Qwertiy

@ Pertanyaan Ya, jika Anda mau.
Hobi Calvin

Penjelasan ditambahkan.
Qwertiy

4

C, 80 area

Terbuat dari 12 Ibuah dan 8 Obuah. Sintaks C selalu menyenangkan.

I potongan tanpa urutan tertentu:

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

O potongan:

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

Larutan

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

90 Obuah.

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

~~
~#

Anda bisa mencobanya di sini .

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@

Mungkin ada solusi lain. Saya tidak memutar batu bata.


Ini adalah salah satu program Befunge paling berbelit-belit yang pernah saya lihat dan tonton dijalankan. Sangat pintar!
El'endia Starman

3

Area Python 3: 340 [Dibangun Kembali]

Terbuat dari 85 Ibuah, diberikan di sini abjad satu per baris.

    #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

Sebagai daftar 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"]

Saya membuat kesalahan dan menempel terlalu banyak. Saya sudah memperbaikinya sekarang, tetapi pembangun kembali, tolong jangan melihat melalui sejarah edit.
xnor

2
FYI, Anda memperbaikinya dalam masa tenggang, jadi tidak ada riwayat edit yang perlu dikhawatirkan.
Nathaniel

Daftar utama tidak memiliki dua dari blok 4 ruang.
feersum

@feersum Selamat! Saya benar-benar tidak berpikir untuk menggunakan overhang seperti itu. Saatnya membuat adonan yang baru dan lebih baik.
xnor

2
Retak btw.
feersum

3

Python 3: 160 area

Setelah feersum retak , saya mencoba memperketat kode saya untuk membuatnya lebih sulit untuk menghindari kriptografi omong kosong. Itu terbuat dari 40 Ibuah, terdaftar satu per baris:

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

Sebagai daftar 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']

Diubah:

  • Perkalian string yang disusun ulang untuk mencoba memaksa powdigunakan
  • Lebih sedikit ruang (meskipun angka lebih pendek)
  • Tidak ada 1's

Saya khawatir tentang banyak faktor daerah tersebut.


2

C - Area 72

Blok:

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

Karena hanya pengajuan C lainnya yang retak. ;)

72 karakter yang rapi. Kebingungan murni. Tidak ada masalah NP-hard untuk memecahkan atau bilangan bulat besar untuk faktor. Pinjam beberapa trik dari salah satu yang terbaik. Spasi direpresentasikan menggunakan .s. Tidak ada aktual .yang muncul dalam solusi.

Saya telah memeriksa ulang solusinya untuk memastikan validitasnya.


2

CJam, 80 area

20 Obuah.

 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

Saya tidak memutar batu bata.


2

C - Area 780

Ada total 195 buah. Tidak ada komentar yang digunakan. Tidak ada yang rumit.

Catatan: semua garis miring terbalik ( \) harus diganti dengan spasi.

95 buah I:

____ 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 buah O:

__
__
 (x18)
)_
__

_*
_\

_;
,-

_*
__

~)
"{

+_
+_

*_
,_

__
_)

~~
a~

_,
__

__
,)

_:
__

+*
__

__
+,

*+
_+

AA
AA

__
,+

18 buah L:

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

25 buah J:

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

10 buah T:

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

4 buah Z:

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

8 buah S:

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

Larutan

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


1

Wolfram, area 72

Di mana-mana Anda melihat tanda hubung (-), ganti dengan spasi

saya

h01-

r*1/

j

6
115

l

  m
+1C

  t
*0e

  e
,,[

Hai

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

Apakah maksud Anda Bahasa Wolfram (yaitu Mathematica)? Semua tanda kurung dan kurung mengarah ke arah yang sama - apakah Anda secara tidak sengaja membalikkannya saat memutar blok?
Martin Ender

1
Oke ya, braket dan penjepit di Tblok ketiga harus sebaliknya. Saya berhasil membangunnya kembali .
Martin Ender

Bahasa Wolfram, ya. Oh tidak, saya memang membuat kesalahan! Meskipun begitu, selamat untuk menyelesaikannya!
Gerli

Saya memperbaiki T. Saya mencetak kode dan memutar kertas untuk mengurangi latihan mental ... Saya lupa memperhitungkan fakta bahwa simbol-simbolnya juga berubah ...
Gerli

0

MATLAB, area 48

Sayangnya, sepertinya tidak berfungsi di Octave.

-
^-1

'
'u"

v'+
e

[['
;

'.i
]

lmi
a

 kv
hW

 .x
).

3)
t;

b(
'p

('l; 

.]'e

0

Python 3 176 Area

Saya tidak menggunakan garis bawah pada program ini, jadi saya memutuskan untuk mengganti semua spasi dengan garis bawah untuk menambah keterbacaan. Pastikan untuk menggantinya kembali ke spasi ketika gagal memasangnya kembali.

Saya Blok:

1456

"jtr

\)\~

tris

],i)

t=""

2697

t(t[

_r+2

_r_i

O Blok:

i_
s_

_;
32

6#
an

".
+-

t)
in

n(
_[

""
(c

ap
ri

Blok L:

  =
#14

  .
\n"

  ;
"(t

  i
T%"

  o
:=i

  r
ioj

  6
mp#

Blok J:

6
2(h

5
574

#
"=t

7
spl

f
o__

s
(s_

n
];#

0    
t=_

*
#)(

T Block:

=_1
 _

295
 r

21,
 r

,2)
 .

Z Blocks:

46
 ""

"5
 3"

#t
 )n

1t
 ),

S Blocks:

 ge
34

 nt
68

0

Python 3

Area - 484

Spasi digantikan oleh %. Ada beberapa komentar yang digunakan sebagai padding. Cukup banyak pengulangan kode. Mungkin cukup rumit.

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#
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.