ฐานทั้งหมดของคุณเป็นของเรา (ถูก จำกัด )


57

ไม่จำเป็นต้องป้อนข้อมูลและเอาต์พุตต้องอ่าน " All your base are belong to us"

ข้อ จำกัด

  • ไม่มีทรัพยากรภายนอก

    บวกอย่างน้อยสองอย่างต่อไปนี้:

  • คุณไม่สามารถใช้ "a", "b", "t", "u" หรือ "y" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -10 ถึงคะแนนกอล์ฟของคุณหากคุณสามารถทำได้)

  • คุณไม่สามารถใช้ "l", "o", "s", "e" หรือ "r" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -20 ถึงคะแนนกอล์ฟของคุณหากคุณทำได้)

  • คุณไม่สามารถใช้ "n", "g", "0", "1" หรือ "2" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -30 ถึงคะแนนกอล์ฟของคุณหากคุณสามารถทำได้)

ตัวอย่างเช่นถ้าคุณจัดการเพื่อให้ได้รหัสที่มี 40 ตัวอักษรและใช้กฎที่ 1 และ 2 คะแนนกอล์ฟของคุณคือ 40 - 10 - 20 = 10 ตัวอักษร

คะแนนรหัสกอล์ฟน้อยที่สุดชนะ ... ขอให้โชคดี!


5
ให้มากที่สุดเท่าประกาศstringแบ่งทั้งสามข้อ จำกัด และchar, varและWriteทำลายสองของพวกเขาแต่ละคน นี่จะเป็นเรื่องยากที่จะได้รับคำตอบที่ถูกต้องบาร์อาจจะเป็น Barinfuck
Hand-E-Food

7
"ไม่ต้องป้อนข้อมูล" นั่นไม่ได้หมายความว่าฉันสามารถทำสิ่งที่ชอบprint(input())(หลาม) ได้ไหม? ผู้ใช้จะต้องป้อนสตริงที่ถูกต้อง แต่นั่นไม่ได้รับอนุญาต
Justin

5
@Quincunx ฉันจะไม่ยอมรับวิธีแก้ไขปัญหาดังกล่าวเนื่องจากรหัสไม่รับประกันว่าจะส่งออกทางออกที่ถูกต้อง นอกจากนี้ยังstdinมีเนื้อหาว่า "แหล่งภายนอก"
nitro2k01

2
@PranavHosangadi มีคำตอบที่ถูกลบสำหรับคำถามนี้ด้วยคะแนน -6 ซึ่งมีความสำคัญเหมือนกับ มันทำมาแล้วหลายครั้งในคำถามต่าง ๆ และไม่ได้รับอนุญาตอย่างชัดเจนในรหัสแท็กกอล์ฟ
Gareth

1
ตามกฎมาตรฐานของ code-golf จะมีคำตอบใน latin1 / unicode / name ซึ่งคุณมีเสน่ห์เป็นไบต์หลังจากทำการแปลงเป็น utf-8 เราจะนับเช่นนั้นหรือคุณเลือกวิธีการให้คะแนนที่ต่างออกไป ผู้นำปัจจุบันจะอยู่ที่ 0 แทนที่จะเป็น -40
Sylwester

คำตอบ:


4

SOGL V0.12 , 15 - 60 = -45

šz█P'zUS½█│β3‘⁾

ลองที่นี่!

šz█P'zUS½█│β3‘เป็นสตริงบีบอัดall your base are belong to usแต่เนื่องจากว่าสตริงที่แน่นอนบีบอัดที่มีอยู่0ก็แบ่งออกเป็น 3 ส่วน: all your base are, , belong to us(ซึ่งมีค่าใช้จ่ายหนึ่งไบต์ แต่ให้โบนัส -30 ไบต์) สตริงแรกและสตริงสุดท้ายถูกบีบอัดด้วยพจนานุกรมภาษาอังกฤษของ SOGL และเข้าร่วมกับช่องว่างโดยปริยาย ส่วนที่เหลือเป็นกรณีประโยคง่ายๆในตัว
โปรดทราบว่า SOGL โพสต์ความท้าทายนี้ แต่ได้รับอนุญาตในขณะนี้


ฉันแค่ต้องถามว่า ... อย่างไร ??? เรากำลังเผชิญกับเทคนิคการบีบอัดที่ฉลาดอยู่หรือเปล่า? ฉันไม่รู้อะไรเกี่ยวกับ SOGL ...
WallyWest

45

GolfScript, -22 (38 ตัวอักษร, -60 โบนัส)

"„¯¯c¼²¸µc¥¤¶¨c¤µ¨c¥¨¯²±ªc·²c¸¶"{67-}%

4
มันทำงานอย่างไร
The Guy with The Hat

37
@RyanCarlson Magic
Howard

4
"..."กำหนดสตริงและบล็อก{}%ทำการดำเนินการแมปกับตัวละครทั้งหมด ภายในบล็อกค่า ascii มีอยู่ในสแต็กและ67-ลบ 67 จากค่า ascii แต่ละอัน
Howard

4
ตกลงกรณีอาจเป็นคำที่ผิดที่จะใช้ แต่คุณรู้ว่าฉันหมายถึงอะไร ฉันค่อนข้างมั่นใจว่าตัวยก 2 ยังคงเป็น 2 ดังนั้นกฎ 3 จึงไม่ได้รับการตอบสนอง
เทรนต์

3
@FizzBuzz ฉันรู้ว่าคุณกำลังพยายามจะพูดอะไร แต่ฉันคิดว่าสิ่งที่สำคัญคือ 2 และ²เป็น glyphs ที่แตกต่างกันกับ codepoints ที่แตกต่างกัน คุณสามารถโต้แย้งว่าในแง่ลบแล้วมันเป็นสัญลักษณ์เดียวกัน แต่ฉันคิดว่านั่นเป็นการตีความที่เป็นนามธรรมมากกว่าคำถามที่ทำบุญ
Jordan Gray

36

Sclipting , −40

뀖롬긇땯덗긠눦굳뉒걡댦넠눦녬닶멧긇끯긇녳
  • = 20 ตัวอักษร - 60 โบนัส
  • ใช้งานได้เฉพาะถ้าอินพุตว่างเปล่าซึ่งฉันใช้เป็นตัวพิมพ์ใหญ่ ถ้าไม่เพิ่มข้างหน้าเปลี่ยนคะแนนเป็น −39
  • ถ้าฉันสามารถสมมติว่าอินพุตเป็นสิ่งที่ฉันต้องการ (อย่างที่เห็นได้จากคำตอบนี้) โปรแกรมที่ว่างเปล่าคือคำตอบและคะแนนของฉันคือ −60

อย่าง"input is not required"ที่ฉันพูดดังนั้นฉันจะโยน丟ข้างหน้าและเปลี่ยนคะแนนเป็น -39 แต่ใช้ความพยายามอย่างมาก! โดยเฉพาะอย่างยิ่งเมื่อคุณคิดค้นภาษาเพื่อน!
WallyWest

1
ในฐานะที่เป็นภาษาเกาหลีที่เห็นพยางค์เกาหลีในรหัสเป็นที่น่าอัศจรรย์
Matthew Roh

29

JavaScript - 140 ไบต์ - 60 โบนัส = 80 คะแนน

(x="Ǎľľ y̌ǒǔř b̌ǎšě ǎřě b̌ěľǒňǧ ťǒ ǔš")[x[3*9]+x[34]+"p"+x[4]+x[5*5]+"c"+x[34]]("̌","",x[6*7])

ทำงานใน Firefox

ฉันรู้ว่าคุณกำลังคิดอะไรอยู่ ไม่พวกนั้นไม่ใช่ตัวละครที่ปรากฏในคำถาม ตัวละครเหล่านี้เป็นตัวละครที่มีคารอนหรือháček (เลือกแบบสุ่มจากรายการกำกับ) แม้ว่าพวกเขาจะรวมเครื่องหมายพวกเขาไม่ได้สองตัวละครแยก


Node.js REPL:String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
nick indiessance

28

APL (43 - 30 - 20 = -7)

⎕AV['⊥┤┤ ø┼&┐ `∣┘û ∣┐û `û┤┼─ù ´┼ &┘'⍳⍨⌽⎕AV]

สิ่งนี้เป็นไปตามกฎ 2 และ 3


มันจะยากที่จะเอาชนะ!
Paul Prestidge

1
ส่งคืนผลลัพธ์หรือพิมพ์หรือไม่
Aaron Davies

@AaronDavies: ทั้งคู่ผลลัพธ์จะถูกพิมพ์โดยอัตโนมัติ
marinus

@marinus ฉันลองใช้สิ่งนี้ในTryAPL.comและได้รับINVALID TOKENข้อผิดพลาด .... อาจมาจากตัวละครเริ่มต้นและตัวอักษรต่อท้ายก่อนที่จะ AV ... มีที่ไหนอีกที่ที่ฉันสามารถทดสอบสิ่งนี้ ... ?
WallyWest

@WallyWest: ใช้ Dyalog APL ( dyalog.com ) รับรุ่นที่ไม่ได้ลงทะเบียนฟรี TryAPL มีข้อ จำกัด มันเกือบจะไร้ประโยชน์
marinus

28

Brainfuck, 267 - 60 = 207

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

ฉันจะสงสัยได้อีกหรือไม่? :)
WallyWest

2
fbonettiทำได้ดีกว่าในคำตอบ Brainfuck ของเขา
Hand-E-Food

2
และFIQก็ทำได้ดีขึ้น 4 วันต่อมา
schnaader

22

HTML / CSS 70

<p style="transform:rotate(.5turn)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>

http://jsbin.com/EjekuvuF/1/

ฉันคิดว่าตัวเองฉลาดกว่า แต่ก็รู้ว่าฉันไม่สามารถทำตามกฎเสริมด้วย HTML / CSS ที่แท้จริงได้ โอ้ดี

UPDATE:

User Flame แนะนำวิธีการแก้ปัญหาข้ามเบราว์เซอร์เพิ่มเติม:

<p style="transform:rotate(180deg)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>  

http://jsbin.com/EjekuvuF/6


ฉันเดาว่าคุณสามารถใช้การอ้างอิงอักขระ XML เพื่อกอบกู้สถานการณ์
MvG

3
ฉันชอบความคิดที่อยู่เบื้องหลังการแก้ปัญหาแม้ว่า
Sumurai8 8

ฉันจะให้อุปกรณ์ประกอบฉากกับมัน ... คิดว่าด้วยเหตุผลบางอย่างtransform:rotate(.5turn)แก้ไขข้อผิดพลาดทางไวยากรณ์ ... ฉันชอบจินตนาการที่ใส่ลงไปในนี้ ...
WallyWest

@WallyWest ฉันไม่ได้ทดสอบในเบราว์เซอร์ทั้งหมด ฉันเดิมพันที่อาจเป็นเบราว์เซอร์ที่เฉพาะเจาะจงมากกว่าไวยากรณ์ W3C อย่างเป็นทางการ (ใช้งานได้กับ Chrome)
DA

3
คุณควรใช้∀แทนɐ :)
Timwi

12

MATLAB, โบนัสทั้งหมด: คะแนน -20 (40-60)

['' '¤ÏÏèÜÒØÕèÅÄÖÈèÄÕÈèÅÈÏÒÑÊè×ÒèØÖ'-99]

แก้ไข:

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

char('All your base are belong to us' + 99)

หากได้รับอนุญาตให้ถามอะไรเป็นอินพุตก็จะสามารถแก้ปัญหาที่มีตัวอักษรน้อยลง (แต่ยังขาดโบนัส) ได้

input('')

กรุณาอธิบายวิธีการที่คุณวางแผนที่จะส่งออกอะไรinputโดยใช้เพียง คำตอบที่สองคือ (afaik) ไม่จริง
DJSpud

2
@Jhawins: MATLAB แสดงผลลัพธ์ของแต่ละนิพจน์ที่ไม่สิ้นสุดในเครื่องหมายอัฒภาค การinput('')โทรไม่ได้จบด้วยเครื่องหมายอัฒภาคดังนั้นมันจะสร้างเอาต์พุต
Ben Voigt

6
หากถูกต้องคำตอบของฉันคือ " prompt()"
DJSpud

และเชลล์ก็น่าจะเป็นไปได้ddแต่บางทีนั่นอาจนับว่าเป็นทรัพยากรภายนอก แน่นอนว่าการป้อนข้อมูลของผู้ใช้จะแน่นอน
gerrit

ฉันลองเรียกใช้และได้รับสิ่งต่อไปนี้: _A ,, E9 /5 2E "! 3% E! 2% E" %, /. 'E 4/ E5`3 ฉันสามารถเข้าใจคำตอบแรกได้ แต่คำตอบที่สองนั้นจำเป็นต้องป้อนข้อมูลซึ่งฉันบอกว่าไม่ได้" ต้องใช้ "
WallyWest

10

k (-7 = 53 - 60)

(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

ไม่รวมถึงการขึ้นบรรทัดใหม่สามารถเพิ่มได้ในราคาหนึ่งอักขระเพิ่มเติม:

(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

น่ารำคาญมีเพียงออฟเซ็ตเดียวที่ใช้งานได้กับเคล็ดลับนี้คือ 154 และ 155

แก้ไข:

หากมีความเพียงพอที่จะแสดงสตริง (แทนที่จะพิมพ์) เนื่องจากฉันสงสัยว่าโซลูชัน APL ทำงานได้ (ไม่ทำงานในhttp://tryapl.com/ดังนั้นฉันจึงไม่สามารถทดสอบได้อย่างถูกต้อง)

  "c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&("
"All your base are belong to us"

ซึ่งคือ -12 = 48 - 60 ฉันจะได้รับการพิจารณาว่านี่เพียงพอหรือไม่


ฉันไม่เคยขอขึ้นบรรทัดใหม่ ... :)
WallyWest

10

dc, 97 - 60 = 37 91 - 60 = 31 88 - 60 = 28 81 - 60 = 21

3C87596P4d^8/P7958389P7479394P6386533P7C89P749698CP644848CP459 8^699 7^3849736388974773333 86-++P

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

IDi67793554D647F84C836645D6569F69Pi6385C77P9i35PDdi6^I9^+6D59CD83D664D34+P8CPFi98CCF5PCi97P

ในฐาน 7 ทุกสิ่งกลายเป็นหมายเลขเดียว! ฐานที่ต่ำกว่ามีขนาดเล็กลงตามธรรมชาติ แต่การดำเนินการแก้ไขไม่ได้ที่นี่

7i4398873968644388737548444897643735447698675366869556798538985674336396359936458859886P

ทางออกแรกของฉันใช้ฐาน 10 ตัวที่สองของฉันใช้ผสมฐาน 9, 10, 12, 13 และ 15 อันนี้อยู่ในฐาน 7 ฉันรู้สึกเหมือนฐานทั้งหมดเป็นของฉัน

สุดท้ายอย่างจริงจัง:ฐาน 13 ทำผลงานได้ดีในกลุ่มแรกจากนั้นฐาน 7 สำหรับส่วนที่เหลือ

Di67793554D647F84C836645D6569F69P7i798789699638355733695878558396339387963789536P

ดังนั้นในคำอื่น ๆ ฐาน 7 ทั้งหมดของคุณเป็นของคุณ @Wumpus?
WallyWest

10

Python REPL, 122 116 98 ตัวอักษร - 30 โบนัส = 92 86 68 คะแนน

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6fng \x74\x6f \x75\x73'

'All your base are belong to us'

ฉันสามารถกำจัดเลขศูนย์ใน Python 3.3 โดยแทนที่ ' \40' ด้วย\N{SP}แต่อนิจจาNไม่ได้รับอนุญาต

แก้ไข : แรงบันดาลใจจากคำตอบนี้ฉันได้สั้นลงได้ต่อไปโดยการแทนที่โดย\x40 นอกจากนี้ตั้งแต่ฉันแล้วใช้1แทน\156โดยnและ\x67โดยgลดระยะมันอีก 6 ตัวอักษรในขณะที่เกิดขึ้นไม่มีการลงโทษเสริม


1
ฉันสงสัยว่านี่เป็นรายการที่ถูกต้องหรือไม่เพราะมันใช้งานได้กับเชลล์เชิงโต้ตอบเท่านั้น หากคุณวางสิ่งนี้ลงใน.pyไฟล์และเรียกใช้งานจะไม่มีเอาต์พุต
Daniel Hepper

1
มันขึ้นอยู่กับ ... ฉันเชื่อว่าไม่มีกฎทั่วไป คำถามบางข้ออนุญาตให้ใช้โหมดโต้ตอบได้
Bakuriu

1
ผมเคยโพสต์คำถามเกี่ยวกับเมตา
gerrit

1
สิ่งนี้ใช้ได้ใน R ด้วย
Zach

1
@AaronHall และหลังจากการแก้ไขของฉันฉันนำฉันลงไปที่ 68!
gerrit

8

Brainfuck, 205 203 - 60 = 145 143 ไบต์

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

รุ่นที่อ่านได้:

++++[->++++<]>[->++++>++>+++++++>++++++>++++++++<<<<<]
64 32 112 96 128

>+.>>----..<.                     All                 65 108 108  32
>>>-------.<<+++.>>----.---.<<<.  your           121 111 117 114  32
>>++.-.>+.<++++.<<.               base            98  97 115 101  32
>>----.>-.<++++.<<.               are                 97 114 101  32
>>---.+++.<---.>>---.-.<<-----.<. belong  98 101 108 111 110 103  32
>>>++++++.-----.<<<.              to                     116 111  32
>>>++++++.--.                     us                     117 115


ในที่สุดฉันก็คิดว่าวิธีแก้ปัญหาของ Brainfuck ในที่สุด ... ทำได้ดีมาก!
WallyWest

7

Befunge 98: 122 - 60 = 62

5f8+*:53-+:' \6-:5+' 91+:*3+::7+\8+:3-:7-:3-:' \3+::3-4+',' -+\4-:' \:4+\6+c+:f3+-:4+3-' '&3*:3+:6-:f+5-:' \d-:' '!+ff+k,@

คำนวณค่า ascii จากนั้นพิมพ์ ฉันยังต้องลองวิธีอื่น ๆ ในการสร้างตัวเลขเพื่อดูว่ามีวิธีที่สั้นกว่านี้หรือไม่


ฉันสงสัยว่าเมื่อคุณจะใส่ 2 ไบต์ของคุณใน ... งานดีมาก!
WallyWest

7

Python, 195-40 = 155

x,w,y,z,v=4*8,55,56,57,58;exec(("%c"*38)%(y+y,z+z,49+y,w+w,v+v,39-7,34,65,54+54,54+54,x,v+63,48+63,48+69,z+z,x,98,97,59+y,45+y,x,97,z+z,45+y,x,98,45+y,54+54,w+y,w+w,45+v,x,v+v,w+y,x,v+59,z+v,34))

6

ทับทิม, 121 - 50 = 71

กำลังดุร้าย แต่ส่วนมากของวิธีการที่น่ารักถูกตัดออก:

$><<[65,c=36*3,c,d=8*4,363/3,f=c+3,c+9,c+6,d,x=98,97,j=c+7,k=3+x,d,97,c+6,k,d,x,k,c,f,j-5,5+x,d,c+8,f,d,c+9,j].pack('C*')

แบ่งกฎ # 1 เนื่องจาก A ในpackอีกสองควรตกลง


ฉันสามารถบันทึกได้ 6 ตัวอักษรหากเราเพิ่งส่งคืนผลลัพธ์แทนที่จะพิมพ์ออกมาฉันไม่ชัดเจนหลังจากดูคำตอบอื่น ๆ
Paul Prestidge

1
ยาวมาก แต่ไม่เกิน“ a”: pastebin.com/wnsvcAMh
จัดการ

@ การทำงานฉันรักมัน! อย่างใดฉันไม่เคยคิดว่าถึงแม้ว่าฉันจะใช้<<ในคำตอบของฉัน
Paul Prestidge

ดังนั้นคุณสามารถใช้วิธีแก้ปัญหา 154 ตัวอักษร @ manatwork ได้ใช้และรับส่วนลด 60 คะแนนซึ่งให้ 94 หรือติดกับรุ่นที่ไม่ใช่กฎ 1 และไปกับ 71 ... ฉันรู้ว่าฉันจะใช้ :)
WallyWest

6

{ba, z} sh, 67 - 40 72 - 60 61 - 40 = 21

$'\x74r' K-~\#-\; _@-~\^-j<<<'Mxx ){%~ 3m#q m~q 3qx{z8 ${ %#'

มันกลับกลายเป็นว่าฉันมีrอยู่ในนั้นที่ฉันไม่ได้สังเกตเห็นดังนั้นโบนัส 20 จึงไม่มีผล!


1
ใน zsh และทุบตีรุ่นผมมีประโยชน์$'\x74\x72'สามารถนำมาใช้โดยตรงเป็นชื่อคำสั่งคุณประหยัด 8 $(m4<<<)ตัวอักษรสำหรับ มันใช้งานไม่ได้ใช่ไหม?

และหลังจากตรวจสอบอีกครั้ง ... ใช้\x72แทนเพื่อให้rคุณได้รับโบนัส 20 คะแนนที่ค่าใช้จ่ายของการสูญเสียโบนัส 30 คะแนน (สำหรับ2)

@ WumpusQ.Wumbley โอ้คุณพูดถูกทั้งสองบัญชี ฉันไม่คิดว่าของ2ใช้ที่นั่นให้ฉันดูว่าฉันสามารถหาวิธีที่จะกำจัดมันและหลีกเลี่ยงการสูญเสียโบนัสใด ๆ
FireFly

ศักดิ์สิทธิ์ sh # t นั่นช่างแยบยล! ดูเหมือนว่าหุ่นยนต์ Reverse ROT12 ASCII ... (ฉันถูกไหม) ทำได้ดีมาก!
WallyWest

คำตอบที่ดี แต่trนับเป็นทรัพยากรภายนอกหรือไม่
บาดเจ็บทางระบบดิจิตอล

5

C, 75 ไบต์ - 60 = 15

ขอบคุณ @gastropner สำหรับการทำคะแนนลดลงจาก 50 เป็น 33 และจาก 19 เป็น 15!

*q,i;f(p){(*(q=p)="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9J"[i++]^74)?i=!f(++p):i;}

นำแอดเดรสของอาร์เรย์ char เป็นอินพุตและเขียนสตริงไปยังอาร์เรย์

ลองออนไลน์!

โทรด้วย:

int main()
{
    char s[128];
    f(s);
    puts(s);
}

เอาท์พุท:

รุ่นเก่า (90 ไบต์ - 40 = 50):

*q,i,j;f(p){for(i=3-3;j="Epp$}s v$fewi$evi$fipsrk$xs$ w"[i++];*q=j!=35-3?j-4:353/3)q=p++;}

1
Riffing เกี่ยวกับเรื่องนี้โดยใช้พลังของแฮคเกอร์และการเรียกซ้ำคุณสามารถเข้าถึง 93 - 60 = 33 ไบต์:*q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
Gastropner

@gastropner ขอบคุณ!
Steadybox

สามารถไปกับi=i<30อีก 2 ไบต์
Gastropner

@gastropner 0ไม่สามารถใช้
Steadybox

ใช่แน่นอน!
Gastropner

4

JavaScript

(306 ตัวอักษร - 60 โบนัส = 246) (206 ตัวอักษร - 50 โบนัส = 156)

(123 ตัวอักษร = 173 ตัวอักษร - 50 โบนัส)

ชนิดของ nooby น่าจะเป็นมากกว่านั้น ... แจ้งให้เราทราบหากฉันยัดอะไรซักอย่างการแจ้งเตือนนี้ "ฐานทั้งหมดของคุณเป็นของเรา" นี่เป็นเพียง ASCII เท่านั้น

(c=(''+!'')[4-3],x=([][3]+c)[6])[a='c\x6F'+x+'\x73t'+c+'uct\x6F'+c][a]('a\x6C\x65'+c+'t("A\x6C\x6C y\x6Fu'+c+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+x+'\x67 t\x6F u\x73")')()

หากคุณนับคอนโซลตัวเองเป็นเอาต์พุตสิ่งนี้จะนับ (57 ด้วยโบนัส):

'A\x6C\x6C y\x6Fu'+(c=(''+!'')[4-3])+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+([][3]+c)[6]+'\x67 t\x6F u\x73'

วิธีการที่ยอดเยี่ยมถึงแม้ว่าการสมัครรับจดหมายสองสามฉบับอาจช่วยให้คุณได้รับโบนัส Rule-1 เช่นกัน ... ทำงานได้ดี
WallyWest

@WallyWest: ขอบคุณ! ปัญหาใน JavaScript คือมันค่อนข้างยากที่จะได้รับ "A" โดยไม่ทำลายกฎอื่น ๆ หรือใช้อักขระมากเกินไป - อาจใช้เวลามากกว่า 10 อักขระเพียงอย่างเดียว
แควนตัส 94 หนัก

จริงอยู่คุณต้องมีน้ำหนักเกินตัวอักษรเพิ่มเติมกับโบนัส ... ทำงานได้ดี!
WallyWest

x=(c.t+c)[6]สั้นลงเล็กน้อย
ไม่ใช่ว่า Charles

และevalอาจจะง่ายกว่าในการแฮก
ไม่ใช่ว่า Charles

4

Brainfuck, (227 - 60 = 167)

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

ฉันไม่คิดว่าพื้นที่ในการเริ่มต้น+++++ +++++เป็นสิ่งจำเป็นหรือไม่ อาจเป็น 226 ไบต์
FinW

3

PHP (35 - 60 = -25 ไบต์)

HOW LOW CAN YOU GET ?[1] [2]

$ xxd yourbase.php 
0000000: 3c3f 3d7e be93 93df 8690 8a8d df9d 9e8c  <?=~............
0000010: 9adf 9e8d 9adf 9d9a 9390 9198 df8b 90df  ................
0000020: 8a8c 3b                                  ..;

[1] xxd -rโปรแกรมนี้สามารถถอดรหัสโดยใช้
[2] ใช่แก้ปัญหาอย่างหนักนำมาใช้ใหม่ที่นี่ ฉันคิดว่ามันเป็น ... ปัญหาที่สามที่ฉันแก้ไขด้วยวิธีนี้ บางทีฉันควรย้ายไปอย่างอื่น แต่ก็ไม่ใช่ว่ามันจะไม่ดีสำหรับปัญหาที่ห้ามไม่ให้คุณใช้ตัวละครส่วนใหญ่


ไม่เข้าใจคุณพยายามทำอะไรที่นี่
WallyWest

@WallyWest เขากลับสตริงบิต; ส่งผลให้มีตัวอักษร ASCII เพิ่มขึ้น 31 ตัวซึ่ง PHP พยายามที่จะ interprete เป็นชื่อค่าคงที่และเนื่องจากไม่พบว่าค่าคงที่นั้นตีความเป็นสตริง ~สตริงเมื่อตะกี้นี้ได้รับกลับมาพร้อมกับ
ติตัส

3

Bash, 52 - 10 - 30 = 12

ต่อไปนี้คือการดำเนินการในสภาพแวดล้อม ISO-8859-1 (ยังค่อนข้างธรรมดา):

$'\x74r' À-þ  @-~<<<'Áìì ùïõò âáóå áòå âåìïîç ôï õó'

สายนี้trซึ่งแปลอักขระในวิธีที่เหมาะสม ฉันต้องใช้rและฝ่าฝืนกฎที่ 2 หรือใช้ตัวเลขในการหลบหนีและละเมิดกฎ 3 เนื่องจาก 3 ให้โบนัสมากขึ้นฉันจึงเลือกอดีต


1
ใช่เขาทำแล้ว :) คุณไม่สามารถใช้ "a", "b", "t", "u" หรือ "y" ไม่ว่าในกรณีใดนอกจากนี้คุณต้องมีเงื่อนไขอย่างน้อยสองข้อ
cowls

@cowls: ดูเหมือนว่าฉันพลาดจุดนั้นไปอย่างสิ้นเชิงขอบคุณที่ทำให้ชัดเจน เขียนคำตอบของฉันใหม่เพื่อให้เป็นไปตามนั้น
MvG

@MvG ยอดเยี่ยม re-work ... ทำได้ดีมาก!
WallyWest

ไม่trเป็นการทรัพยากรภายนอก?
Digital Trauma

@DigitalTrauma: เหมือนห้องสมุดมาตรฐานฉันจะบอกว่าแม้ว่ามันจะเป็นเรื่องการตีความ แต่มันถูกระบุในมาตรฐาน POSIXดังนั้นฉันเดาว่าระบบ POSIX ใด ๆ จะต้องมีดังนั้นจึงเป็นส่วนหนึ่งของระบบ
MvG

3

Pure Bash (ไม่มีทรัพยากรภายนอก), 141 chars - 50 bonus = 91

Z = ({k..v})
f = $ '\ X65'
H = $ '\ x6c'
i = $ '\ x6f'
J = $ {Z [7]}
k = $ '\ X73'
m = $ '\ X75'
$ f $ '\ x63'h $ i A $ h $ hy $ i $ m $ j ba $ k $ fa $ j $ fb $ f $ h $ i $ {Z [3]} $' \ x67 't $ iu $ k

วางโบนัส 10 แต้มโดยเจตนาเพื่อให้ได้คะแนนโดยรวมที่ดีขึ้น

สิ่งนี้ใช้ได้กับbashเวอร์ชั่น 3.00.15 หรือใหม่กว่าที่ฉันได้ลอง

มันทำงานยังไง

ไม่มีวิทยาศาสตร์จรวดที่นี่ - เพียงแค่bashการขยายรูปแบบเดียวหรืออื่น:

  • การขยายฐานสิบหกอย่างง่ายเพื่อให้ได้อักขระที่ต้องการ [012]งานนี้สำหรับตัวละครที่มีการแสดงเลขฐานสิบหกไม่ได้มี เช่น$'\x65'ให้เราe
  • สำหรับตัวละครอื่น ๆ เราสร้างอาร์เรย์ทุบตีของตัวละครตามลำดับโดยใช้การขยายตัวรั้งเป็นเริ่มต้น array ( Z=({k..v})) [012]จุดเริ่มต้นของการขยายตัวรั้งที่ถูกเลือกอย่างรอบคอบเพื่อให้การจัดทำดัชนีของตัวละครที่เราต้องการไม่ได้มี เช่น ช่วยให้เรา${Z[7]}r
  • bashมีความยืดหยุ่นเพียงพอที่จะอนุญาตให้สร้างคำสั่งจากเนื้อหาของสตริงจำนวนมาก ดังนั้นขยาย$f$'\x63'h$iecho
  • สำหรับอักขระที่ต้องการเพียงครั้งเดียวการขยายจะถูกแทรกแบบอินไลน์ไปยังสตริงคำสั่ง echo
  • สำหรับตัวละครที่ต้องการสองครั้งหรือมากกว่านั้นจะมีประสิทธิภาพมากขึ้นในการขยายไปยังตัวแปรแล้วอ้างอิงตัวแปร

คำตอบก่อนหน้านี้พร้อมโบนัสเต็มรูปแบบ แต่คะแนนรวมแย่ลง:

Pure Bash (ไม่มีทรัพยากรภายนอก), 193 ตัวอักษร - 60 โบนัส = 133

ฉันรู้ว่าสิ่งนี้จะไม่ชนะ แต่ฉันต้องการพิสูจน์ตัวเองว่ามันเป็นไปได้ในbashขณะที่ตอบสนองความต้องการทั้งหมด:

Z = ({3..8} {C..z})
c = $ {Z [36]}
d = $ {Z [37]}
f = $ '\ X65'
H = $ '\ x6c'
i = $ '\ x6f'
J = $ {Z [53]}
k = $ '\ X73'
m = $ '\ X75'
$ f $ '\ x63'h $ i $ {c ^} $ h $ h $' \ x79 '$ i $ m $ j $ d $ c $ k $ f $ c $ j $ f $ d $ f $ h $ i $ {Z [49]} $ '\ x67' $ '\ x74' $ i $ m $ k

นี้ไม่จำเป็นต้องเป็นรุ่นล่าสุดอย่างเป็นธรรมของbashสำหรับ${c^}การขยายตัวพารามิเตอร์ 4.2.25 ไม่เป็นไร แต่ 3.2.48 ไม่ต้องไป


ฉันถอดหมวกของคุณออกไป ... ฉันเพิ่งทำสิ่งนี้ ... งานดี ... งานดีมาก
WallyWest

@WallyWest - ฉันเพิ่งแก้ไขในเวอร์ชันที่สั้นกว่า
Digital Trauma

3

Postscript, 364 - 40 = 324

ฉันไม่สามารถทำมันไม่loserแน่นอน :)

/${cvx exec}def
/+{<3C7E4F6F597E3E>$ $}def
/*{<~P&(~>$}def
/-{( )<3C7E4F754E7E3E>$ $ 3 4<~P#;~>$ 4 3<~P)#3FP'-~>$}def
/_{36(      )<~OoP~><3C7E4F754E7E3E>$ $ 4 3<~P,S~>$ 48<~P'?~>$
${96 3<~P#;~>$ + -}<~P">~>$}def
/.{_ 96 3<~P#;~>$ -}def
65 - 777 .
895 353 + _ 774 333 + .
74933 333 + 7 * 3 + 333 + .
9593 4353 + .
689653949 335 + .
735 333 + .
775 333 + _ 5 5 + -

สิ่งนี้เริ่มต้นด้วยการเข้ารหัสข้อความเป็นสตริงเบส -36:

%-=Encoding strings as base-36 numbers=-
%All your base are belong to us
% handle uppercase A separately
%36#ll = %777
%36#your = %1618515
%36#yo = 36#ur = 36#base = 36#are = 36#belong = 36#to = 36#us =
%1248 1107 527198 13946 689654284 1068 1108

แล้วเอา 1s และ 0s และ 2s ทางคณิตศาสตร์ จากนั้นสตริงสามารถสร้างใหม่ได้36 <string-buf> cvrsแต่จะให้ตัวอักษรพิมพ์ใหญ่ดังนั้นเราจึงต้องวนซ้ำและเพิ่ม 0x20 เพื่อให้ตัวพิมพ์เล็ก

ตัวดำเนินการcvx execอนุญาตให้เราเรียกใช้งานแฟรกเมนต์สตริงของโทเค็นที่เข้ารหัสด้วยไบนารีในการเข้ารหัสต่างๆ ง่ายที่สุดคือการเข้ารหัสผู้ประกอบการใน hex <92??>แต่มี 2 ในนั้น! ดังนั้นการเข้ารหัส "ระดับแรก" จึงเป็น ascii85 จากนั้นสตริงใด ๆ ที่ยังคงมีอักขระต้องห้ามต้องผ่านระดับพิเศษของ hex -> ascii85 -> hex -> ascii85


2

Brainfuck, 306 - 60 = 246

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

แน่นอนว่าสิ่งนี้จะลดลงได้ไหม?
WallyWest

@WallyWest ฉันไม่มีเวลาลดโปรแกรมเช่นนี้ลง 5% โดยไม่มีเหตุผล: P โปรดโพสต์การปรับปรุง แต่!
Timtech

ไม่มีข้อผูกมัดที่นี่ :)
WallyWest

@WallyWest คุณถูกต้องเกี่ยวกับการทำให้สั้นลง มันสามารถใช้การปรับปรุงที่สำคัญบางอย่าง
Timtech

2

PHP, 186 - 10 - 30 = 146

ฉันต้องได้รับการสร้างสรรค์เล็กน้อย;)

 <?=chr(65).'ll '.chr(88+33).'o'.chr(39*3).'r '.chr(98).chr(97).'s'.chr(68+33).' '.chr(97).chr(38*3).chr(68+33).' '.chr(98).'elo'.chr(77+33).chr(69+34).' '.chr(83+33).'o '.chr(39*3).'s'?>

คุณยังสามารถเล่นกอล์ฟได้เล็กน้อยและทำให้แนวคิดคำตอบ: echo ไม่ต้องการวงเล็บ (1) คุณสามารถใช้<?=แทน echo (4) คุณสามารถบันทึกตัวอักษรซ้ำในตัวแปร ('l', '') ใช้54*2แทน54+54
Einacio

1
แก้ไขแล้ว. ฉันทำได้แค่คูณกับบางอย่างเท่านั้น ฉันไม่สามารถทำได้54*2เพราะมันมี2อยู่ในนั้นดังนั้นฉันสามารถทำได้เฉพาะกับคนที่มี 3 หรือสูงกว่ามีปัจจัย ถ้าฉันใช้ทศนิยมแสดงว่าไม่มีอักขระน้อยลง
ub3rst4r

เคล็ดลับการเล่นกอล์ฟการถอด 50 ไบต์ มากที่สุดของมัน (23 + 9 bytes): คุณสามารถแทนที่ส่วนที่เหลือchr(68+33)และchr(38*3)มีตัวอักษรและe r
ติตัส

1

Python, 181 - 40 = 141

[ฉันใช้รุ่น 2.7.2 YMMV - ตัวบิวอินfileหายไปใน python 3.X]

f=file.__doc__;c=5-3;l=f[c];s=' ';e=f[3];h=f[6+7];i=f[c*87];j=3**3;f[j*c*5]+l+l+s+f[-57]+h+f[j-7]+f[j-3]+s+f[j-8]+f[6]+i+e+s+f[6]+f[j-3]+e+s+f[j-8]+e+l+h+f[5]+f[j]+s+f[45]+h+s+f[j-7]+i

1

Python (104 - 30 = 74)

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'
'All your base are belong to us'

และคะแนน:

>>> len(r"'\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'")-30
74

ทำได้ดีมาก แต่คุณไม่จำเป็นต้องทำแบบเดียวกันเพื่อกำหนดคะแนน ... ;)
WallyWest

1

คางทูม 150 - 60 = 90. 40 = 110

S J=" ",Z=36*3,C=37*3,D=38*3,Q=39*3,I=35*3-4 W *65,*Z,*Z,J,*484/4,*C,*Q,*D,J,*98,*97,*C+4,*I,J,*97,*D,*I,J,*98,*I,*Z,*C,*D-4,*Z-5,J,*C+5,*C,J,*Q,*C+4

ฉันไม่แน่ใจว่ามันสามารถทำให้สั้นลง (โดยรวม) โดยไม่ได้รับหนึ่งในรหัสโบนัส - เป้าหมายของฉันสั้นลงเล็กน้อยและอีกเล็กน้อยใน -60 ... ฉันชอบความท้าทายที่ไม่ได้ใช้ อักขระที่ จำกัด ใด ๆ

และ ... ฉันทำผิดพลาดไป - พลาดคำสั่งเริ่มต้น : - /

อย่างไรก็ตามต่อไปนี้เป็นรุ่น "ไม่มีกฎ" - ขยายตัวแปร

W *65,*36*3,*36*3," ",*484/4,*37*3,*39*3,*38*3," ",*98,*97,*37*3+4,*35*3-4," ",*97,*38*3,*35*3-4," ",*98,*35*3-4,*36*3,*37*3,*38*3-4,*36*3-5," ",*37*3+5,*37*3," ",*39*3,*37*3+4

และนั่นให้คะแนน 177-60 = 117 ดังนั้นการทำลายกฎกลางยังให้คะแนนโดยรวมที่ต่ำกว่า


คำตอบที่น่าสนใจ ... มีตัวจำลองออนไลน์ที่ฉันสามารถเข้าถึงเพื่อรันรหัสนี้หรือไม่?
WallyWest

1
ไม่ใช่ความรู้ของฉัน แต่มีรุ่นสำหรับคางทูมที่ทำงานบนทุกแพลตฟอร์ม - มีแม้กระทั่งรุ่นที่จะทำงานบน Raspberry Pi หากคุณต้องการเครื่องคางขนาดเล็กมาก ... :-)
zmerch

1

Perl 5, 99 - 50 = 49

รูทีนย่อยที่ส่งคืนสตริงที่ต้องการ:

{A.($c=h|d)."$c y".($f=f|k).u.($k=p|b)." ba".($j=c|p).($d=d|a)." a$k$d b$d$c$f".(jf|fc)." t$f u$j"}

เห็นมันพิมพ์ดังนั้น:

perl -e'print sub{...}->().$/'

1

BF-RLE , 146 - 30 = 116

+5[>+5<-]>+.<+4[>+3<-]>+..>>+3[<+2>-]<++.<+A.-7.+3.-0.>.<<+1[>-1<-]>.-.<+0[>+3<-]>.-B.>.<-1.<+1[>+1<-]>+.-A.>.<-0.+0.+4.+0.-.-4.>.<+A.-2.>.<+3.--.

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