Jumblers vs Rebuilders: การเข้ารหัสด้วย Tetris Bricks


34

ในแบบดั้งเดิมTetris , มี 7 ที่แตกต่างกันtetrominoอิฐแต่ละแทนด้วยตัวอักษรคล้ายกับรูปร่างของมัน

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

ลองพิจารณาการจัดเรียงของอิฐเหล่านี้ที่สามารถสร้างรูปสี่เหลี่ยมผืนผ้า W × H ที่เป็นของแข็งสำหรับจำนวนเต็มบวก W และ H บางตัวอย่างเช่นการใช้ 2 I, 1 L, 1 J, 1 J, 2 T's และ 1 S, สี่เหลี่ยมผืนผ้า 7 × 4 ทำ:

IIIITTT
LIIIITJ
LTTTSSJ
LLTSSJJ

อิฐเดียวกันสามารถจัดใหม่ (โดยการย้ายและหมุน แต่ไม่พลิก ) เป็นรูปแบบที่แตกต่างกัน 7 × 4:

IJJTLLI
IJTTTLI
IJSSTLI
ISSTTTI

ตอนนี้ให้พิจารณาใช้บล็อกสี่เหลี่ยมของรหัสแทนการจัดเรียงครั้งแรก ตัวอย่างเช่น Python 3 ขนาด 7 × 4 บิตนี้ซึ่งพิมพ์Tetrisไปยัง stdout:

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

ตาม Tetris แรกที่จัดเรียง "อิฐ" 7 ของมันคือ ...

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

ในการจัดการอื่น ๆ (หนึ่งในหลาย ๆ ที่เป็นไปได้) พวกเขาไม่สามารถเข้าใจได้ว่าเป็นรหัส:

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

แต่หากแยกก้อนอิฐออกเป็นชิ้น ๆ มันอาจเป็นไปได้ที่จะรวมมันเข้าด้วยกันอย่างถูกต้อง นี่คือพื้นฐานของความท้าทาย

ท้าทาย

นี่เป็นความท้าทายของมีสองบทบาทการแข่งขันที่มีJumblersและRebuilders

Jumblers ส่งคำตอบด้วยบล็อคของรหัสที่ถูกแบ่งย่อยเป็นอิฐ Tetris

Rebuilders พยายามที่จะสร้างบล็อกเหล่านี้ใหม่ในคำถามแยกต่างหากสำหรับพวกเขาโดยเฉพาะ: Jumblers vs Rebuilders: การเข้ารหัสด้วย Tetris Bricks - พื้นที่สำหรับคำตอบของผู้สร้างใหม่

Jumblers

การใช้เฉพาะASCII ที่พิมพ์ได้ (รหัสเลขฐานสิบหก 20 ถึง 7E) เขียนโปรแกรมรูปสี่เหลี่ยมผืนผ้า W × H เมื่อเรียกใช้จะต้องส่งออกคำเดียวTetrisไปยัง stdout (หรือทางเลือกที่ใกล้เคียงที่สุด) อย่าโพสต์รหัสนี้ในคำตอบของคุณ; อย่าให้ W หรือ H เช่นกัน แยกมันออกเป็นการจัดเรียงของอิฐ Tetris เช่นตัวอย่างข้างต้นและโพสต์เหล่านี้ในคำตอบของคุณ (รหัสของคุณอาจมีช่องว่าง แต่เนื่องจากยากต่อการแยกจึงควรใช้อักขระอื่นแทนช่องว่างและบอกคนที่คุณใช้

ยิ่งสร้างโปรแกรมของคุณได้ดีขึ้น อาจมีหลายวิธีในการจัดเรียงรหัสอิฐของคุณใหม่ให้เป็นสี่เหลี่ยมผืนผ้า สิ่งที่รหัสทำเมื่อทำงานในการจัดเรียงที่แตกต่างกันเหล่านี้ไม่สำคัญตราบใดที่การจัดเรียงอย่างน้อยหนึ่งพิมพ์Tetrisไปที่ stdout

ข้อ จำกัด อื่น ๆ เท่านั้นคือ W * H จะน้อยกว่า 1,025

Jumblers ควรระบุภาษาการเขียนโปรแกรม (และเวอร์ชั่น)

Rebuilders

เป้าหมายของคุณคือนำอิฐรหัสของ Jumbler มาใส่ในลำดับเดิมดังนั้นTetrisจะพิมพ์ออกมาเมื่อมีการเรียกใช้รหัส หากการจัดการการทำงานที่คุณพบไม่ใช่ Jumbler ที่มีอยู่ในใจที่ไม่ดีสำหรับพวกเขา

โปรดจำไว้ว่าอนุญาตเฉพาะการแปลและการหมุนเท่านั้นในการจัดเรียงใหม่ไม่ใช่การสะท้อน

เกณฑ์การให้คะแนน

ทุกครั้งที่มีการสร้างการส่งใหม่จะถือว่า "แตก" และจะไม่ทำงานอีกต่อไป ตัวสร้างใหม่แรกที่สร้างการส่งใหม่ได้รับเครดิตสำหรับมัน หากคำตอบไม่ได้ถูกแยกออกเป็นเวลา 72 ชั่วโมง Jumbler ควรเปิดเผยวิธีการแก้ปัญหาและต่อจากนี้ไปจะมีภูมิคุ้มกันจากการถูกแคร็ก Jumbler จะต้องทำสิ่งนี้เพื่อให้ชนะเพราะไม่เช่นนั้นมันจะไม่ชัดเจนหากมีวิธีแก้ไขด้วย

Jumbler ที่ชนะคือคำตอบที่ไม่ได้แยกด้วยพื้นที่ที่เล็กที่สุด (W * H = 4 * จำนวนอิฐ) ในกรณีที่ผูกคำตอบที่ได้คะแนนสูงสุดจะเป็นฝ่ายชนะ คำตอบที่ได้รับการยอมรับสำหรับคำถามนี้จะเป็น Jumbler ที่ชนะ

ผู้สร้างใหม่ที่ชนะนั้นคือผู้ใช้ที่ถอดรหัสสิ่งที่ส่งมามากที่สุด ในกรณีของความสัมพันธ์มันจะไปที่ใครก็ตามที่แตกพื้นที่สะสมมากที่สุด

หมายเหตุ

  • คุณไม่สามารถสร้างผลงานที่ส่งมาใหม่ของคุณเอง (แต่มิฉะนั้นคุณอาจรับบททั้งสองนี้)
  • ผู้สร้างใหม่อาจไม่พยายามถอดรหัสคำตอบเดียวกันมากกว่าหนึ่งครั้ง

ป้ายบอกคะแนน

จัดเรียงจากการส่งที่เก่าแก่ที่สุดไปยังใหม่ที่สุด

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

(ขอบคุณhttp://www.sensefulsolutions.com/2010/10/format-text-as-table.htmlสำหรับการจัดรูปแบบตาราง)

ผู้ใช้ COTOทำเครื่องมือที่ยอดเยี่ยมสำหรับการเล่นกับรหัส - อิฐ ฉันเปลี่ยนเป็นข้อมูลโค้ดที่สะดวก:

<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
Martin Ender

8
OP จะโปรดบอกเราว่าเขาจัดการกับสิ่งเช่นนี้ได้อย่างไร
Soham Chowdhury

5
@SohamChowdhury ฉันไม่สามารถพูดอะไรมากไปกว่าที่ผมเคยพูดไปแล้ว หลักคำสอนหลักของฉันมีความเรียบง่ายและความคิดริเริ่ม
งานอดิเรกของ Calvin

ฉันยังคงสามารถส่งปัญหาได้หรือความท้าทายนี้ใกล้กับ Jumblers หรือไม่?
ASCIIThenANSI

@ ASCIIThenANSI เอาเลย มีผู้สร้างใหม่จำนวนมากที่ยังคงอยู่
งานอดิเรกของ Calvin เมื่อ

คำตอบ:


3

GolfScript 48

I ชิ้น

!;..  )+?;

O ชิ้น

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

T ชิ้น

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

J ชิ้น

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

วิธีการแก้

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


ใช่ฉันกำลังใช้มันเพื่อหาชิ้นส่วน Tetris ฉันแก้ไขมันเร็วพอที่ลิงก์ "แก้ไข" ไม่ควรปรากฏเพื่อให้ผู้คนไม่สามารถดูประวัติการแก้ไขสำหรับคำตอบได้
SamYonnou

ฉันไม่ต้องการทำลายเกม แต่หวังว่าฉันจะเป็นคนเดียวที่เปิดหน้าเว็บได้อย่างรวดเร็ว ;)
Martin Ender

ฉันรู้ว่านี่ค้างนานเกินไป แต่ฉันสิ้นสุดการประกวดอย่างเป็นทางการและหากฉันเข้าใจผิดว่าการประกวดครั้งนี้ชนะ! แซมฉันจะยอมรับคำตอบนี้ถ้าคุณโพสต์วิธีการแก้ปัญหาเพื่อพิสูจน์ว่ามันเป็นไปได้จริง
งานอดิเรกของ Calvin

@ Calvin'sHobbies Done
SamYonnou

23

Java: พื้นที่ 360

เงินรางวัล: 500

การสร้างสิ่งเหล่านี้ใหม่ทำได้ยาก! นั่นอาจเป็นเหตุผลว่าทำไมมีโจรเข้าร่วมจำนวนมากเกินไปในการท้าทายนี้ อย่างไรก็ตามฉันต้องการเห็นรอยร้าวของฉัน ดังนั้นแทนที่จะให้วิธีแก้ปัญหาหลังจาก 72 ชั่วโมงฉันวาง 500 ตัวแทนเพื่อแครกเกอร์ที่ประสบความสำเร็จคนแรก เพื่ออธิบายให้ชัดเจนฉันจะเพิ่มค่าความโปรดปราน +500 ให้กับคำตอบและให้รางวัลแก่การถอดรหัสของคุณหากคุณรวมชิ้นส่วนเหล่านี้ลงในโปรแกรม Java สี่เหลี่ยมที่ทำงานได้ซึ่งทำงาน "Tetris" ฉันไม่ได้เปิดใช้งานการรับรางวัลล่วงหน้าเพราะฉันไม่รู้สึกอยากเสียเวลาหากไม่มีใครตอบ

ไม่มีวันที่สิ้นสุดสำหรับข้อเสนอนี้ ถูกต้องตราบเท่าที่ฉันเป็นสมาชิกที่นี่ เพื่อให้แน่ใจว่าฉันเห็นคำตอบของคุณ, ping ฉันด้วยความคิดเห็นด้านล่าง

ฉันได้ตรวจสอบสามครั้งเพื่อให้แน่ใจว่าชิ้นส่วน (และรหัส) ถูกต้อง แต่หากผู้ใช้ที่เชื่อถือได้ต้องการยืนยันสิ่งนี้ฉันสามารถส่งอีเมล / แก้ไขปัญหาให้พวกเขาได้ เห็นได้ชัดว่าจะยกเว้นพวกเขาจากการโพสต์มันและเก็บเงินรางวัล

ทำจากส่วนผสมทั้งเจ็ดชนิด เพื่อให้สิ่งต่าง ๆ ง่ายขึ้น (?) ฉันได้ตรวจสอบให้แน่ใจว่าชิ้นส่วนประเภทเดียวกันทั้งหมดถูกหมุนไปในทิศทางเดียวกัน ตั้งแต่ Java มีชิ้นส่วนที่ไม่สามารถเปลี่ยนแปลงมากผมเคยซ้ายจริงๆส่วนที่เห็นได้ชัดเป็นง่ายๆ I-บล็อกที่จะได้รับมันเริ่มต้น

หมายเหตุ:เนื่องจาก Java มีช่องว่างที่บังคับเล็กน้อยฉันจึงแทนที่ด้วยเครื่องหมายขีดล่าง ( _) ด้านล่างเพื่อจุดประสงค์ในการจัดวาง มีทั้งหมด 11 รายการและควรแปลงเป็นช่องว่างเพื่อเรียกใช้รหัส ไม่มีช่องว่างอื่นปรากฏอยู่ในโค้ดด้านล่างนี้ใช้สำหรับวางตำแหน่งเท่านั้น

มี:

  • 41 ฉัน
  • 15 โอ
  • 11 เจ
  • 8 ลิตร
  • 6 ต
  • 6 ส
  • 3 Z

มีความสุข!

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

บล็อคโค้ดต้องหมุนเพื่อสร้างโซลูชันที่ถูกต้อง (หรืออย่างน้อยที่สุด)
El'endia Starman

@ El'endiaStarman ใช่คุณจะต้องหมุนบางส่วนเพื่อแก้ปัญหาที่ตั้งใจไว้
Geobits

12

Brainfuck พื้นที่ 108

รหัสนี้ทำจาก 27 ชิ้นฉัน

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

ฉันไม่รู้ว่ามีวิธีอื่นนอกเหนือจาก bruteforce เพื่อค้นหาคำตอบหรือไม่ หากมีฉันอยากจะรู้ว่าจริงๆ


9

Python 3: 212 พื้นที่ [สร้างใหม่]

รหัสของฉันแบ่งออกเป็น 53 Iชิ้นต่อไปนี้ซึ่งฉันเขียนหนึ่งรายการต่อบรรทัดตามตัวอักษร

(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

มีความสุข!


ฉันพบช่องโหว่ในวิธีนี้ แต่ฉันจะปล่อยให้แตก ฉันโพสต์คำตอบอื่นที่ฉันหวังว่าปลอดภัยมากขึ้น
xnor

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

1
@foobar ยินดีด้วย! คุณลอง shuffles mod 38941394 หรือระบบอื่น ๆ อีกมากมายหรือไม่? ใช้เวลานานแค่ไหน? นอกจากนี้ทำไมไม่%3894?
xnor

1
ฉันเพิ่งสร้างไว้ล่วงหน้าprint('Tetris'* (358UNKNOWN94))และเนื่องจากฉันค่อนข้างมั่นใจว่าคุณไม่ได้หมุนกระเบื้องใด ๆ ทั้งหมดที่ฉันทำคือสร้างการเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมดของกระเบื้องที่เหลืออยู่เข้าร่วมพวกเขาด้วยกันและประเมินว่า358UNKNOWN94เท่ากับ1หรือไม่ในขณะที่ฉันแทนที่UNKNOWNด้วยการเปลี่ยนแปลง . ดังนั้นฉันจึงไม่ได้ใช้%3894เพราะพบการเปลี่ยนรูปแบบการจับคู่ที่แตกต่างกันก่อน) ฉันไม่รู้ว่ามันใช้เวลานานเท่าไหร่ แต่ใช้เวลาแกนเดียวประมาณ 20 นาที ดังนั้นที่จริงผมใช้บางสิ่งบางอย่างเป็นระบบน้อยผมก็ bruteforced วิธีการแก้;)
foobar

1

5

JavaScript - พื้นที่ 80

ดูเหมือนว่าคำตอบเหล่านี้ส่วนใหญ่จะใช้ชิ้นส่วนของฉันจำนวนมากและอาจเป็นชิ้นส่วน O หรือสองชิ้นดังนั้นฉันจึงโยนมันพร้อมกับรูปร่างที่น่าสนใจมากขึ้น

  • 7 ฉันชิ้น
  • 1 ลิตรชิ้น
  • 1 ชิ้น J
  • 4 ชิ้น
  • 6 ชิ้น
  • 1 ชิ้น

แต่ละชิ้นคั่นด้วยช่องว่างสองช่อง สัญญาณแฮชสองอันนั้นเป็นช่องว่างในรหัส

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

มีความสุข!


5

Javascript, พื้นที่ 420

เฉพาะฉันบล็อก

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

ไม่มีผู้ใช้ obfuscators มาตรฐานใด ๆ รหัสทั้งหมดรวมถึงการทำให้งงและการเรียงลำดับรายการบล็อกนี้ทำโดยน้อยกว่า 16 บรรทัดของรหัสของฉันเอง


ถึงเวลาที่จะแสดงให้เห็นว่ามันถูกสร้างขึ้นมา:

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

ดังนั้นจึงเป็นเพียงการโทรevalด้วย obfuscated'console.log("Tetris")'อาร์กิวเมนต์ที่ซึ่งมีความยาว 420 สัญลักษณ์ มันแบ่งออกเป็น 4 บรรทัด 105 สัญลักษณ์และอ่านโดยคอลัมน์และเรียงตามตัวอักษร

การทำให้งงงันสำหรับ 10 หลักคือฮาร์ดโค้ดสำหรับสัญลักษณ์อื่น ๆ ที่ใช้ 10 สัญลักษณ์แรกจาก 4 ชุดที่ส่งผ่านไปยังaddฟังก์ชัน หากไม่มีการทำให้งงงวยสำหรับสัญลักษณ์บางอย่างมันจะถูกส่งผ่านตามที่เป็นอยู่


ถึงเวลาโพสต์ว่ามันเสร็จสิ้นแล้วหรือยัง
Qwertiy

@Qwerity ใช่ถ้าคุณต้องการ
งานอดิเรกของ Calvin

เพิ่มคำอธิบายแล้ว
Qwertiy

4

C, 80 พื้นที่

ทำจาก 12 Iชิ้นและ 8 Oชิ้น ไวยากรณ์ C สนุกเสมอ

I ชิ้นไม่มีคำสั่งพิเศษ:

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

O ชิ้น

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 ขอแสดงความยินดี!
es1024

4

CJam, 60 (15 O's)

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

วิธีการแก้

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

90 Oชิ้น

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

~~
~#

คุณสามารถทดลองใช้งานได้ที่นี่

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@

อาจมีวิธีแก้ไขปัญหาอื่น ๆ ฉันไม่ได้หมุนก้อนอิฐ


นี่เป็นหนึ่งในโปรแกรม Befunge ที่ซับซ้อนที่สุดที่ฉันเคยเห็นและดูการวิ่ง ฉลาดมาก!
El'endia Starman

3

Python 3: 340 พื้นที่ [สร้างใหม่]

ทำจาก 85 Iชิ้นให้ตัวอักษรที่นี่ที่หนึ่งต่อบรรทัด

    #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:

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

ฉันทำผิดพลาดและวางมากเกินไป ฉันได้แก้ไขแล้วในขณะนี้ แต่ผู้สร้างใหม่โปรดอย่าดูประวัติการแก้ไข
xnor

2
FYI คุณแก้ไขภายในระยะเวลาผ่อนผันดังนั้นจึงไม่มีประวัติการแก้ไขที่ต้องกังวล
นาธาเนียล

รายการหลักหายไปจากบล็อกพื้นที่ 4 รายการสองรายการ
feersum

@feersum ยินดีด้วย! ฉันไม่คิดว่าจะใช้สิ่งที่ค้างอยู่อย่างนั้น ถึงเวลาที่จะสร้างความสับสนใหม่และดีกว่า
xnor


3

Python 3: 160 พื้นที่

หลังจากรอยแตกของ feersumฉันพยายามทำให้รหัสของฉันแน่นขึ้นเพื่อให้ยากขึ้นเพื่อหลีกเลี่ยงการเข้ารหัส mumbo-jumbo มันทำจาก 40 Iชิ้นระบุไว้หนึ่งรายการต่อแถว:

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

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

การเปลี่ยนแปลง:

  • จัดเรียงสตริงการคูณใหม่เพื่อพยายามบังคับpowให้ใช้
  • ลดช่องว่าง (แม้ว่าตัวเลขที่สั้นกว่า)
  • ไม่1ได้

ฉันกังวลเกี่ยวกับปัจจัยหลายประการของพื้นที่แม้ว่า


2

C - พื้นที่ 72

บล็อก:

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

เนื่องจากมีการส่ง C อื่นเท่านั้นที่แตก ;)

เรียบร้อย 72 ตัวละคร ความงงงันบริสุทธิ์ ไม่มีปัญหายากที่จะแก้ปัญหาหรือจำนวนเต็มจำนวนมากเพื่อปัจจัย ยืมเทคนิคบางอย่างจากสักคนหนึ่ง ช่องว่างจะแสดงโดยใช้.s ไม่มีการ.ปรากฏตัวจริงในโซลูชัน

ฉันได้ตรวจสอบวิธีการแก้ปัญหาสามครั้งเพื่อรับรองความถูกต้องของชิ้นงาน


2

CJam, 80 พื้นที่

20 Oชิ้น

 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

ฉันไม่ได้หมุนก้อนอิฐ


2

C - พื้นที่ 780

มีทั้งหมด 195 ชิ้น ไม่มีการใช้ความคิดเห็น ไม่มีอะไรซับซ้อนเป็นพิเศษ

หมายเหตุ: เครื่องหมายแบ็กสแลชทั้งหมด ( \) จะถูกแทนที่ด้วยช่องว่าง

95 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 Oชิ้น:

__
__
 (x18)
)_
__

_*
_\

_;
,-

_*
__

~)
"{

+_
+_

*_
,_

__
_)

~~
a~

_,
__

__
,)

_:
__

+*
__

__
+,

*+
_+

AA
AA

__
,+

18 Lชิ้น:

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

25 Jชิ้น:

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

10 Tชิ้น:

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

4 Zชิ้น:

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

8 Sชิ้น:

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

วิธีการแก้

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


1

Wolfram, พื้นที่ 72

ทุกที่ที่คุณเห็นเส้นประ (-) แทนที่ด้วยช่องว่าง

ผม

h01-

r*1/

J

6
115

ล.

  m
+1C

  t
*0e

  e
,,[

โอ

r4
a+

s

 10
-1

 +1
Pr

Z

ro
 8*

ac
 -1

od
 +1

เสื้อ

--F
 {

,50
 0

/]}  -- fixed bracket directions
 0

1-,
 ,

01C
 0

tni
 4

คุณหมายถึงภาษา Wolfram (เช่น Mathematica) หรือไม่ วงเล็บและเครื่องหมายปีกกาทั้งหมดของคุณชี้ไปในทิศทางเดียวกัน - คุณบังเอิญพลิกมันไปมาเมื่อหมุนบล็อกหรือไม่?
Martin Ender

1
โอเคใช่วงเล็บและรั้งในTบล็อกที่สามควรเป็นทางกลับกัน ฉันจัดการเพื่อสร้างมัน
Martin Ender

ภาษาวูล์ฟรัมใช่ โอ้ไม่ฉันทำผิดพลาด! ขอแสดงความยินดีสำหรับการแก้ปัญหาทั้งๆที่นั้น!
Gerli

ฉันแก้ไข T. ฉันพิมพ์รหัสและหมุนกระดาษเพื่อลดการออกกำลังกายจิต ... ฉันลืมที่จะคำนึงถึงความจริงที่ว่าสัญลักษณ์เปลี่ยนไปเช่นกัน ...
Gerli

0

MATLAB, พื้นที่ 48

น่าเสียดายที่ดูเหมือนว่ามันจะไม่ทำงานใน Octave

-
^-1

'
'u"

v'+
e

[['
;

'.i
]

lmi
a

 kv
hW

 .x
).

3)
t;

b(
'p

('l; 

.]'e

0

Python 3 176 พื้นที่

ฉันไม่ได้ใช้ขีดเส้นใต้ในโปรแกรมนี้ดังนั้นฉันตัดสินใจที่จะแทนที่ช่องว่างทั้งหมดด้วยการขีดล่างเพื่อเพิ่มความพร้อมใช้งาน ตรวจสอบให้แน่ใจว่าได้แทนที่พวกเขากลับไปที่ช่องว่างเมื่อไม่สามารถนำมันกลับมารวมกันได้

ฉันบล็อก:

1456

"jtr

\)\~

tris

],i)

t=""

2697

t(t[

_r+2

_r_i

บล็อก O:

i_
s_

_;
32

6#
an

".
+-

t)
in

n(
_[

""
(c

ap
ri

บล็อก L:

  =
#14

  .
\n"

  ;
"(t

  i
T%"

  o
:=i

  r
ioj

  6
mp#

บล็อก J:

6
2(h

5
574

#
"=t

7
spl

f
o__

s
(s_

n
];#

0    
t=_

*
#)(

บล็อก T:

=_1
 _

295
 r

21,
 r

,2)
 .

บล็อก Z:

46
 ""

"5
 3"

#t
 )n

1t
 ),

S Blocks:

 ge
34

 nt
68

0

Python 3

พื้นที่ - 484

ช่องว่างถูกแทนที่ด้วย %แทนที่ด้วย มีความคิดเห็นบางส่วนที่ใช้เป็นการขยาย ค่อนข้างซ้ำรหัส อาจจะค่อนข้างซับซ้อน

121 โอเอส

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#
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.