All Your Base Are Belong To Us (Restricted)

57

14

Input must not be required, and output must read "All your base are belong to us".

Restrictions

  • No external resources.

    Plus a minimum of two of the following:

  • You cannot use "a", "b", "t", "u", or "y" in any case in your code (bonus -10 to your golf score if you can do this)

  • You cannot use "l", "o", "s", "e", or "r" in any case in your code (bonus -20 to your golf score if you can do this)

  • You cannot use "n", "g", "0", "1", or "2" in any case in your code (bonus -30 to your golf score if you can do this)

So for example, if you manage to get the code done with 40 characters and use rules 1 and 2, your golf score is 40 - 10 - 20 = 10 chars.

Smallest code golf score wins... Good luck!

WallyWest

Posted 2014-01-23T01:52:17.060

Reputation: 6 949

5So much as declaring a string breaks all three restrictions, and char, var and Write break two of them each. This is going to be tough to get valid answers, bar maybe Barinfuck. – Hand-E-Food – 2014-01-23T02:28:20.287

Very difficult in python. print breaks all three. Maybe with some creative eval, but then you have to meet 1 and 3. – None – 2014-01-23T02:37:45.927

Ok, I'm convinced a Python entry is impossible. – None – 2014-01-23T03:29:09.183

7"no input required". Doesn't that mean that I could, for example, do something like print(input()) (python)? The user would be required to input the correct string, but that isn't forbidden. – Justin – 2014-01-23T06:40:06.267

I'm pretty sure a Python entry is possible with exec and clever use of hex escapes. – user2357112 supports Monica – 2014-01-23T06:54:58.207

As far as I can figure out an entry in C would only be able to output with putc since it only violates one of the rules, all other output functions I can imagine right now violate two of the rules. But. putc will have to have stderr or stdout as the second argument violating two rules anyway. Correct me if I missed some way to output or acquire stdout (write, printf, putchar, send (if it worked at all which it probably doesn't), fdopen). – Art – 2014-01-23T11:03:12.500

@user2357112 hard to avoid 0, 1, and 2 with hex escapes, and exec contains the e already. – gerrit – 2014-01-23T12:08:54.733

@Art I don't have a computer nearby atm, but I believe stdin/out/err have values 0, 1, 2 respectively, so you can simply hardcode them. – FireFly – 2014-01-23T13:04:35.810

@Art C is out anyway since you need main. – quasimodo – 2014-01-23T13:07:49.623

@quasimodo Doh. Of course, that's even more obvious. No point to research esoteric I/O functions when the entry point itself is impossible to write. – Art – 2014-01-23T13:42:45.170

Looks like POGAACK is out of the question... – Timtech – 2014-01-23T14:15:16.893

@gerrit: You can get them into a hex escape with backticks around arithmetic. It just requires another layer of exec. – user2357112 supports Monica – 2014-01-23T15:37:58.203

@user2357112 backticks are an unconditional SyntaxError in Python3. They're deprecated (but valid) in Python2. – gerrit – 2014-01-23T15:41:52.087

I think any input used should be subject to the same rules, and count as characters in the score. It doesn't look like some answers are doing that. – Gerrat – 2014-01-23T17:12:17.587

5@Quincunx I wouldn't accept such a solution, as the code is not guaranteed to output a correct solution. Also, stdin is arguably an "external source". – nitro2k01 – 2014-01-23T18:39:04.993

2@PranavHosangadi There is a deleted answer to this question with a score of -6 which is essentially the same as that. It's been done before a number of times in various questions and is explicitly disallowed in the [tag:code-golf] tag. – Gareth – 2014-01-24T10:31:16.543

1According to code-golf standard rules answers in latin1/unicode/name you charmap is rated in bytes after conversion to utf-8. Are we to count like that or have you chosen a different score method? Current leader would then be at 0 instead of -40. – Sylwester – 2014-01-30T01:27:18.990

@PranavHosangadi Technically anyone can "create" a custom language that takes a single command, arbitrarily called z or something, and the result is the desired output... We don't do that sort of thing here... – WallyWest – 2014-01-30T04:48:28.267

Answers

4

SOGL V0.12, 15 - 60 = -45

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

Try it Here!

šz█P'zUS½█│β3‘ is a compressed string of all your base are belong to us, but because that exact string compressed contained 0, it's split into 3 parts: all your base are, , belong to us (which cost one byte but gave a -30 byte bonus). The first and last strings are compressed with SOGLs English dictionary, and implicitly joined with spaces. The remaining is a simple sentence case built-in.
Note that SOGL postdates this challenge, but that's allowed now.

dzaima

Posted 2014-01-23T01:52:17.060

Reputation: 19 048

I just have to ask... How??? Are we dealing with some clever compression technique here? I know nothing about SOGL... – WallyWest – 2017-10-06T23:51:19.720

45

GolfScript, -22 (38 characters, -60 bonus)

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

Howard

Posted 2014-01-23T01:52:17.060

Reputation: 23 109

4How does this work? – The Guy with The Hat – 2014-01-23T14:57:24.900

ooooooo, shifty – ghangas – 2014-01-23T15:18:06.187

37@RyanCarlson Magic. – Howard – 2014-01-23T15:18:09.260

4"..." defines a string and the block {}% performs a mapping operation over all characters. Inside the block the ascii value is available on the stack and 67- subtracts 67 from each ascii value. – Howard – 2014-01-23T15:19:36.890

1Isn't superscript 2 just a different case of 2? In which case, you haven't met rule 3 and your bonus is only -30. – Trent – 2014-01-24T00:21:54.143

1@FizzBuzz Numbers don't have case. – Steven Lu – 2014-01-24T04:23:34.953

4OK, case is probably the wrong word to use, but you know what I mean. I'm pretty sure superscript 2 is still a 2, so Rule 3 hasn't been met. – Trent – 2014-01-24T05:48:37.210

3@FizzBuzz I know what you're trying to say, but I think what matters is that 2 and ² are different glyphs with distinct codepoints. You can make the argument that, in a denotational sense, they are the same symbol, but I think that's a far more abstract interpretation than the question merits. – Jordan Gray – 2014-01-24T14:46:13.963

@FizzBuzz Strike that—I just noticed that someone is being stomped in the comments for Kendall Frey's answer for suggesting that character refers to glyphs/codepoint. Apparently it means whatever interpretation is most convenient for any given answer. – Jordan Gray – 2014-01-24T15:22:58.807

@FizzBuzz superscript 2 doesn't behave like 2 in maths. It is shorthand for the power of two. Much the same way as I would consider & valid in a question which doesn't allow and as far as a computer is concerned these are two different entities. In this case though I think the community has to decide as this is total opinion. – George Reith – 2014-01-26T00:25:03.990

Font doesn't $%@#ing matter. Does the source contain the byte? No? ! off. – boothby – 2014-01-28T06:22:22.937

3@FizzBuzz, I'm siding with @Howard and @JordanGray ² is deemed as a separate character to 2. They have different Unicode signatures, in the same sense that A is not the same as Å or à – WallyWest – 2014-01-29T22:59:42.450

36

Sclipting, −40

뀖롬긇땯덗긠눦굳뉒걡댦넠눦녬닶멧긇끯긇녳
  • = 20 characters − 60 bonus
  • Only works if the input is empty, which I take to be the case; if not, add in front, changing the score to −39.
  • If I can assume the input to be what I want (as this answer apparently does), then the empty program is a solution and my score is −60.

Timwi

Posted 2014-01-23T01:52:17.060

Reputation: 12 158

1As a Korean seeing Korean syllables in code is amazing. – Matthew Roh – 2017-04-01T15:39:03.327

Well, "input is not required" as I said, so I'd throw the 丟 in front and alter the score to -39, but great effort! Especially considering you invented the language, dude! – WallyWest – 2014-01-29T23:10:54.590

29

JavaScript - 140 bytes - 60 bonus = 80 points

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

Run in Firefox.

I know what you're thinking. No, those aren't the characters that are listed in the question. Those are characters with a caron, or háček (picked randomly from a list of diacritics). Even though they're combining marks, they aren't two separate characters.

Kendall Frey

Posted 2014-01-23T01:52:17.060

Reputation: 2 384

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 – 2018-05-04T08:00:17.140

28

Brainfuck, 267 - 60 = 207

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

Hand-E-Food

Posted 2014-01-23T01:52:17.060

Reputation: 7 912

Can that be reduced any further, I wonder? :) – WallyWest – 2014-01-29T23:00:49.923

2fbonetti did better in his Brainfuck answer. – Hand-E-Food – 2014-01-30T03:05:08.200

2

And FIQ did even better 4 days later

– schnaader – 2014-12-11T12:41:23.810

28

APL (43 - 30 - 20 = -7)

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

This satisfies rules 2 and 3.

marinus

Posted 2014-01-23T01:52:17.060

Reputation: 30 224

This is going to be hard to beat! – Paul Prestidge – 2014-01-23T03:33:08.820

1does this return the result or print it? – Aaron Davies – 2014-01-23T04:10:21.823

@AaronDavies: both, the result is automatically printed – marinus – 2014-01-23T19:37:12.287

@marinus I tried this in http://TryAPL.com and got an INVALID TOKEN error.... perhaps from the initial and tailing character before AV... Is there any other place I can test this...?

– WallyWest – 2014-01-29T23:02:41.900

@WallyWest: use Dyalog APL (http://www.dyalog.com). Get the unregistered version, it's free. TryAPL is so limited it's nearly useless.

– marinus – 2014-01-30T17:23:44.943

22

HTML/CSS 70

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

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

I thought I was being clever with the upside down type but then realized I couldn't meet any of the ancillary rules with the actual HTML/CSS. Oh well.

UPDATE:

User Flame suggested a more cross-browser compliant solution:

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

http://jsbin.com/EjekuvuF/6

DA.

Posted 2014-01-23T01:52:17.060

Reputation: 696

I guess you can use XML character references to salvage the situation. – MvG – 2014-01-24T09:51:10.247

3I like the idea behind the solution though. – Sumurai8 – 2014-01-25T10:39:19.587

I'll give props to it too... thought for some reason transform:rotate(.5turn) resolves to a Syntax error... I like the imagination put into this... – WallyWest – 2014-01-29T23:12:19.597

@WallyWest I didn't test in all browsers. I bet that might be browser-specific rather than the official W3C syntax. (Does work in Chrome, though) – DA. – 2014-01-29T23:33:14.530

3You should use ∀ instead of ɐ :) – Timwi – 2014-02-06T13:39:48.370

12

MATLAB, All bonuses: Score of -20 (40-60)

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

EDIT:

Note that I am not sure of what the system requirements are to run this, tested on windows. For those struggeling to copy, a similar code can be generated like so:

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

If it would have been allowed to ask anything as input, a solution with less characters (but also missing the bonus) would of course be possible.

input('')

Dennis Jaheruddin

Posted 2014-01-23T01:52:17.060

Reputation: 1 848

being pedantic for a moment: Wanted output contains a trailing space. Yours does not. – Titus – 2017-04-19T09:02:33.377

Please explain how you plan to output anything using only input. The second answer is (afaik) just not true. – DJSpud – 2014-01-23T19:01:07.857

2@Jhawins: MATLAB outputs the result of each expression that doesn't end in a semicolon. The input('') call doesn't end in a semicolon, hence it will generate output. – Ben Voigt – 2014-01-23T19:07:10.070

6If that's correct, then my JS answer is "prompt()" – DJSpud – 2014-01-23T19:08:28.873

And shell would be dd, but perhaps that counts as an external resource. So would user input, of course. – gerrit – 2014-01-23T20:19:18.787

I tried running this and got the following:

_A,,E9/52E"!3%E!2%E"%,/.'E4/E5`3

I can understand the first answer, but the second answer requires input, which I said was not "required" – WallyWest – 2014-01-29T23:16:04.550

byte count is off. Even though solution is in iso-8859-1 (I guess) teh byte count is after utf-8 conversion. Around 70 without bonuses perhaps? – Sylwester – 2014-01-30T01:16:46.910

I don't see why the byte count is relevant, a simple count leads me to this amount of characters as is mentioned in the scoring. It seems that some people have trouble copying the code into matlab, a similar code can easily be generated with: char('All your base are belong to us' + 99) – Dennis Jaheruddin – 2014-01-30T10:38:22.430

10

k (-7 = 53 - 60)

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

doesn't include trailing newline, can be added at cost of one additional char:

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

annoyingly, the only offsets that work for this trick are 154 and 155

edit:

if it's sufficient to display the string (rather than printing it), as i suspect the APL solution does (it doesn't work in http://tryapl.com/, so i can't test it properly), it's

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

which is -12 = 48 - 60. can i get a ruling on whether this is sufficient?

Aaron Davies

Posted 2014-01-23T01:52:17.060

Reputation: 881

I never asked for a trailing newline... :) – WallyWest – 2014-01-29T23:16:30.193

10

Python REPL, 122 116 98 characters - 30 bonus = 92 86 68 points

>>> '\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'

I could get rid of the zeroes in Python 3.3 by replacing '\40' with \N{SP}, but alas, the N is not permitted.

Edit: Inspired by this answer, I've shortened it further by replacing \x40 by . Moreover, since I already use the 1, replacing \156 by n and \x67 by g shortens it by another 6 characters while incurring no extra penalty.

gerrit

Posted 2014-01-23T01:52:17.060

Reputation: 296

Not obfuscating loser instead of ng should be 11 literal chars instead of only to and should save 27 bytes and 10 bonus. Oh ... the ASCII codes contain 1 and 2. Pity. – Titus – 2017-04-19T10:30:13.077

I wonder if it's possible to get rid of all the repeated \x with a list comprehension, but that would probably necessitate eval and/or list/generator comprehensions with the keyword for, and/or join... – gerrit – 2014-01-23T12:20:04.960

1I wonder if this is this a valid entry, because it only works the interactive shell. If you put this in a .py file and execute it, there is no output. – Daniel Hepper – 2014-01-23T13:00:08.240

@DanielHepper I'm new to code golf and this site. Are there any rules regarding this? – gerrit – 2014-01-23T13:01:38.697

my understanding was that it has to be an executable program, but I might be mistaken – Daniel Hepper – 2014-01-23T13:04:32.103

1It depends... I believe there is no general rule. Some questions allow interactive mode, others don't. – Bakuriu – 2014-01-23T13:05:38.320

1

I've posted the question on meta.

– gerrit – 2014-01-23T13:15:45.513

1This works in R too – Zach – 2014-01-23T18:22:40.883

I wrote a function which doesn't write anything to the console, but it can have input and output. – Hand-E-Food – 2014-01-23T22:26:35.563

I beat this for Python, with a score of 74! :D http://codegolf.stackexchange.com/questions/19171/all-your-base-are-belong-to-us-restricted/19412#19412

– Aaron Hall – 2014-01-26T01:28:42.403

1@AaronHall And after my edit, I brought mine down to 68! – gerrit – 2014-01-26T15:24:19.460

Very Smart move! Of course: len("'All your base are belong to us'") 32 – Aaron Hall – 2014-01-26T15:33:57.467

10

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

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

Improved version (the main idea here is to vary the input base, to increase the chances of finding a useful big number with no problematic digits):

IDi67793554D647F84C836645D6569F69Pi6385C77P9i35PDdi6^I9^+6D59CD83D664D34+P8CPFi98CCF5PCi97P

In base 7, the whole thing can become a single number! Lower bases are naturally less compact, but the lack of fix-up operations here makes up for it.

7i4398873968644388737548444897643735447698675366869556798538985674336396359936458859886P

My first solution used base 10. My second used a mix of base 9, 10, 12, 13, and 15. This one is in base 7. I truly feel like all the base are belong to me.

Last one, seriously: Base 13 does a great job on the first segment, then base 7 for the rest.

Di67793554D647F84C836645D6569F69P7i798789699638355733695878558396339387963789536P

user15244

Posted 2014-01-23T01:52:17.060

Reputation:

So in other words, all your base 7 are belong to you, @Wumpus? – WallyWest – 2015-07-15T15:03:58.577

8

Brainfuck, 205 203 - 60 = 145 143 bytes

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

Readable version:

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

FIQ

Posted 2014-01-23T01:52:17.060

Reputation: 519

Good effort! – Timwi – 2014-02-06T13:38:38.223

I kinda half-expected a Brainfuck solution eventually... Nice work! – WallyWest – 2014-09-10T23:37:20.040

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,@

Computes the ascii values, then prints them. I still need to try out other methods of forming the numbers to see if there are shorter ways.

Justin

Posted 2014-01-23T01:52:17.060

Reputation: 19 757

I was wondering when you were gonna put your 2 bytes in... Nice work! – WallyWest – 2014-01-29T23:20:25.507

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

Daniel Hepper

Posted 2014-01-23T01:52:17.060

Reputation: 171

6

Ruby, 121 - 50 = 71

A bit brute force, but most of the cute methods are ruled out:

$><<[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*')

Breaks rule #1 because of the A in pack, the other two should be OK.

Paul Prestidge

Posted 2014-01-23T01:52:17.060

Reputation: 2 390

I can save 6 chars if we're just returning the result rather than printing it, I wasn't clear on that after looking at the other answers. – Paul Prestidge – 2014-01-23T04:07:24.653

1

Extremely long, but no more “a”: http://pastebin.com/wnsvcAMh

– manatwork – 2014-01-23T10:39:07.460

@manatwork I love it! Somehow I never thought of that, even though I'm using << in my answer. – Paul Prestidge – 2014-01-23T21:59:18.980

So you either use the 154 character solution @manatwork has used and claim the 60 point discount which gives you 94, or stick with the non-Rule 1 version and go with the 71... I know which I'd use :) – WallyWest – 2014-01-29T23:19:37.817

6

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

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

Darn it, turns out I had a r in there that I hadn't noticed, so the 20 bonus doesn't apply!

FireFly

Posted 2014-01-23T01:52:17.060

Reputation: 7 107

Does this print the trailing space? – Titus – 2017-04-19T09:03:35.447

@Titus it prints 31 characters with a trailing newline included (so, it prints "All your base are belong to us\n" to stdout). No trailing space characters on the line. I think that should be correct? – FireFly – 2017-04-19T12:26:35.463

Sorry there´s a gap between the wanted output and the closing quote; I misread that as a space. I don´t think that you need the newline. – Titus – 2017-04-19T13:10:47.460

1In the zsh and bash versions I have handy, $'\x74\x72' can be used directly as a command name, saving you 8 characters for the $(m4<<<). Doesn't it work that way for you? – None – 2014-01-24T14:50:13.530

And after looking at it again... using \x72 as a replacement for r gets you the 20 point bonus at the cost of losing the 30 point bonus (for the 2) – None – 2014-01-24T15:10:54.157

@WumpusQ.Wumbley oh, you're right on both accounts. I didn't think of the 2 used there, let me see if I can find a way to get rid of it and avoid losing any bonuses. – FireFly – 2014-01-24T15:33:23.313

Holy sh#t, that was ingenious! This looks like a Reverse ROT12 ASCII cypher... (am I right?) nicely done! – WallyWest – 2014-01-29T23:29:32.403

Nice answer. But does tr count as an external resource? – Digital Trauma – 2014-01-29T23:59:58.017

@DigitalTrauma I don't think so; it's a standard utility spec'd by POSIX. See tr(1)

– FireFly – 2014-01-30T00:40:11.323

@FireFly - If you want to drop the r in tr, you can borrow from my answer http://codegolf.stackexchange.com/a/19421/11259 z=({m..v});$'\x74'${z[5]} K-~\#-\; _@-~\^-j<<<'Mxx ){%~ 3m#q m~q 3qx{z8 ${ %#'. 78 chars - 60 = 18.

– Digital Trauma – 2014-01-30T00:54:48.753

5

C, 75 bytes - 60 = 15

Thanks to @gastropner for getting the score down from 50 to 33 and from 19 to 15!

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

Takes the address of a char array as input and writes the string to the array.

Try it online!

Call with:

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

Output:

Old version (90 bytes - 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++;}

Steadybox

Posted 2014-01-23T01:52:17.060

Reputation: 15 798

1Riffing on this, using the powers of XOR and recursion, you can reach 93 - 60 = 33 bytes: *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 – 2018-01-14T14:07:48.653

@gastropner Thanks! – Steadybox – 2018-01-14T14:36:07.080

Could go with i=i<30 for another 2 bytes off. – gastropner – 2018-01-14T15:51:25.857

@gastropner Can't use 0. – Steadybox – 2018-01-14T15:51:48.467

Ah, yes, of course! – gastropner – 2018-01-14T16:00:24.993

75 - 60 = 15 bytes. Still looks to be reusable: *q,i;f(p){(*(q=p)="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9J"[i++]^74)?i=!f(++p):i;} – gastropner – 2018-01-15T07:30:26.053

Don't you have to add 3 bytes for the compiler flag? – O.O.Balance – 2018-04-06T10:38:08.623

@O.O.Balance The flag is only needed with a 64-bit version of the compiler. With a 32-bit compiler it works without the flag. – Steadybox – 2018-04-06T11:39:22.977

4

JavaScript

(306 characters - 60 bonus = 246) (206 characters - 50 bonus = 156)

(123 chars = 173 chars - 50 bonus)

Kind of nooby, probably could get more off... Let me know if I've stuffed something up, this alerts "All your base are belong to us". This is also ASCII-only.

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

If you count the console itself as output, this would also count (57 with bonus):

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

Qantas 94 Heavy

Posted 2014-01-23T01:52:17.060

Reputation: 150

x=(c.t+c)[6] is a bit shorter – Not that Charles – 2016-04-13T17:04:00.273

also, eval might be easier to hack – Not that Charles – 2016-04-13T17:09:52.917

and to get a, you can use NaN. For A, you can use ([].constructor).toString()[9] – Not that Charles – 2016-04-13T17:12:40.667

...which is letter_a=(+{}+c)[1] and letter_A=([][a]+c)[9] – Not that Charles – 2016-04-13T17:20:44.613

Please could someone explain how that actually alerts anything? – FinW – 2017-02-16T16:48:21.717

Great approach, though a few letter subsitutions could have also allowed you the Rule-1 bonus as well... Good work. – WallyWest – 2014-01-29T23:34:14.987

@WallyWest: Thanks! The problem in JavaScript is that it's rather hard to get an "A" without breaking the other rules or using up way too many characters -- it would take up more than 10 characters alone. – Qantas 94 Heavy – 2014-01-29T23:43:25.000

True, you have to outweight the additional letters against the bonuses... Nice work though! – WallyWest – 2014-01-29T23:44:04.997

4

Brainfuck, (227 - 60 = 167)

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

fbonetti

Posted 2014-01-23T01:52:17.060

Reputation: 141

I dont think the space at the start, +++++ +++++ is needed? It could be 226 bytes. – FinW – 2017-02-18T11:07:31.667

3

Postscript, 364 - 40 = 324

I couldn't do it without loser, of course. :)

/${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 + -

This starts with encoding the text as base-36 strings:

%-=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

And then removing the 1s and 0s and 2s arithmetically. The strings can then be regenerated with 36 <string-buf> cvrs, but this yields upper-case letters, so we then need to iterate through and add 0x20 to make them lowercase.

The operators cvx exec allow us to execute string fragments of binary-encoded operator tokens in various encodings. Simplest is to encode an operator in hex <92??> but there's a 2 in there! So the "first-level" encoding is ascii85. Then any strings that still contained forbidden characters went through extra levels of hex -> ascii85 -> hex -> ascii85.

luser droog

Posted 2014-01-23T01:52:17.060

Reputation: 4 535

3

PHP (35 - 60 = -25 bytes)

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] This program can be decoded using xxd -r.
[2] Yeah, heavy solution reuse here. I think it's... third problem I solved this way. Perhaps I should move to something else, but it's not that this is not great for problems that forbid you from using most characters.

Konrad Borowski

Posted 2014-01-23T01:52:17.060

Reputation: 11 185

@WallyWest He bit-inverted the string; resulting in 31 extended ASCII chars, which PHP tries to interprete as a constant name and because it finds no such constant interpretes as a string. This string gets negated back with ~. – Titus – 2017-04-18T16:21:58.877

I don't get it, what are you trying to do here? – WallyWest – 2014-01-29T23:34:58.363

3

Bash, 52 - 10 - 30 = 12

The following is to be executed in a (still pretty common) ISO-8859-1 environment:

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

This calls tr, which translates the characters in a suitable way. I had to either use the r and violate rule 2, or use a digit in the escape and violate rule 3. Since 3 gives more bonus, I chose the former.

MvG

Posted 2014-01-23T01:52:17.060

Reputation: 726

1Yes he did :) You cannot use "a", "b", "t", "u", or "y" in any case Also you need minimum two of the conditions – cowls – 2014-01-24T09:24:03.410

@cowls: Seems I completely missed that point, thanks for making it clear. Rewrote my answer to comply with that. – MvG – 2014-01-24T09:49:40.210

@MvG great re-work... Well done! – WallyWest – 2014-01-29T23:36:12.573

Does tr constitute an external resource? – Digital Trauma – 2014-01-30T00:02:36.003

@DigitalTrauma: More like a standard library, I'd say, although this is sure subject to interpretation. But it's specified in the POSIX standard, so I guess any POSIX system has to have it, so it's part of the system.

– MvG – 2014-01-30T06:50:50.790

Interesting - I get varying results. 100% correct on OSX. All-caps on some old redhat with tr (coreutils) 5.2.1. This on Ubuntu 12.04 with tr (GNU coreutils) 8.13: ~B~m~m ~z~p~v~s ~c~b~t~f ~b~s~f ~c~f~m~p~o~h ~u~p ~v~t, i.e. the character values are 1 higher than they should be. – Digital Trauma – 2014-01-30T15:37:39.407

@MvG - BTW If you want to drop the r in tr and get the extra -20 bonus, you can borrow from my answer http://codegolf.stackexchange.com/a/19421/11259 z=({m..v});$'\x74'${z[5]} À-þ @-~<<<'Áìì ùïõò âáóå áòå âåìïîç ôï õó'. 63 chars - 60 bonus = 3 (on OSX at least ;-))

– Digital Trauma – 2014-01-30T15:41:06.873

OK, I guess I need to set the ISO-8859-1 environment in Linux somehow - any ideas? – Digital Trauma – 2014-01-30T15:49:28.003

@DigitalTrauma: What I did was LC_ALL=de_DE xterm, relying on the fact that plain old xterm likely doesn't support unicode in any case, and the LC_ALL override should tell it not to use Unicode even if it were supported. locale -a will list installed locales, and with a bit of luck there are some using ISO-8859-1 among these. – MvG – 2014-01-30T15:53:00.483

@MvG - yep, sudo locale-gen de_DE then LC_ALL=de_DE xterm did the trick for me – Digital Trauma – 2014-01-30T16:09:16.867

3

Pure Bash (no external resources), 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$h y$i$m$j ba$k$f a$j$f b$f$h$i${Z[3]}$'\x67' t$i u$k

Intentionally dropping the 10-point bonus to get a better overall score.

This works on any bash version 3.00.15 or later that I have tried.

How does it work

There's no rocket science here - just bash expansions of one form or another:

  • Simple hex expansion to obtain required character. This works for characters whose hex representation doesn't contain [012]. e.g. $'\x65' gives us e
  • For other characters, we generate a bash array of sequential characters using brace expansion into an array initialization (Z=({k..v})). The start of the brace expansion is chosen carefully so that the indexes of the characters we require don't contain [012]. e.g. ${Z[7]} gives us r.
  • bash is flexible enough to allow its commands to be constructed from the contents of multiple strings. So $f$'\x63'h$i expands to echo.
  • For characters that are required only once, the expansion is inserted inline to the echo command string.
  • For characters that are required twice or more it is more efficient to expand them to variables, then reference the variables.

Previous answer with full bonus, but worse overall score:

Pure Bash (no external resources), 193 chars - 60 bonus = 133

I know this won't win, but I wanted to prove to myself this is possible in bash, while satisfying all requirements:

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

This does require a fairly recent version of bash for the ${c^} parameter expansion. 4.2.25 is fine, but 3.2.48 is a no-go.

Digital Trauma

Posted 2014-01-23T01:52:17.060

Reputation: 64 644

I take my hat off to you... I just executed this... nice work... Very nice work. – WallyWest – 2014-01-29T23:39:01.787

@WallyWest - I just edited in a shorter version. – Digital Trauma – 2014-01-30T01:19:08.093

2

Brainfuck, 306 - 60 = 246

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

Timtech

Posted 2014-01-23T01:52:17.060

Reputation: 12 038

Surely this could be reduced somehow? – WallyWest – 2015-07-15T14:09:35.537

@WallyWest I don't have the time to reduce a program like this by 5% for no reason :P feel free to post improvements, though! – Timtech – 2015-07-16T03:48:03.827

No obligation needed here :) – WallyWest – 2015-07-16T06:48:01.303

@WallyWest You're right about shortening it though. It could use some major improvements. – Timtech – 2015-07-17T11:22:11.707

2

PHP, 186 - 10 - 30 = 146

I had to get a little creative ;)

 <?=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'?>

ub3rst4r

Posted 2014-01-23T01:52:17.060

Reputation: 282

a few golfing tips taking 50 bytes off. Most of it (23+9 bytes): You can replace the remaining chr(68+33) and chr(38*3) with literal e and r. – Titus – 2017-04-18T16:56:13.150

you could still golf it a little and mantain the answer idea: echo doesn't require parentheses(1), you can use <?= instead of echo(4), you can save the repeated letters in variables ('l', ' '). use 54*2 instead of 54+54 – Einacio – 2014-01-24T15:31:10.483

1Fixed. I could only do multiplying on certain ones. I can't do 54*2 because that it has a 2 in it, so I could only do it with ones that had 3 or higher has a factor. If I use a decimal, then there's no less characters. – ub3rst4r – 2014-01-24T17:26:42.827

1

SmileBASIC, 149 bytes -30 -10 = 109

L$=CHR$(&H75)O$=CHR$(98)S$=CHR$(97)?CHR$(65);"ll",CHR$(&H79);"o";L$;"r ";O$;S$;"se ";S$;"re ";O$;"elo";CHR$(&H6E);CHR$(&H67);" ";CHR$(&H74);"o",L$;"s

12Me21

Posted 2014-01-23T01:52:17.060

Reputation: 6 110

1

Jelly, 23 - 60 = -37 (language postdates challenge)

“%⁼“¡¢8ṣƤ¹;“pȷȦÆ⁾“¡PȤṫ»

Try it online!

This is just the compressed representation of ["All", " your base are", " belong to", " us"] (Jelly has a compressed string format). The string's split into multiple pieces in order to ensure that none of the banned characters appear within the compressed representation; they're all implicitly concatenated at the end of the program.

Arguably this is competing despite postdating the challenge, because the rules at the time of the challenge (this is an old challenge) were more along the lines of "you can't create a language specifically to solve the challenge" (Jelly wasn't), rather than "you can't use a language newer than the challenge".

user62131

Posted 2014-01-23T01:52:17.060

Reputation:

1

PHP, 67 bytes -60 bonus = 7

<?=d__cJZFFcQWFVcWFVcQV_ZZQcCZcFF^"%33C3534C3653C643C333546C75C35";

bitwise XOR on the ASCII characters

I brute forced a pair of characters not in the forbidden characters for each character in output.
No word character pair for A and I don´t like extended ASCII, so I live with one string in quotes.

Titus

Posted 2014-01-23T01:52:17.060

Reputation: 13 814

Now, @Titus, how exactly does this work? I can only guess that somehow you're using some clever replace function... I've never seen this kind of witchcraft with PHP before... All I know is that it works! – WallyWest – 2017-04-19T08:33:12.367

@WallyWest I´ll explain inline. – Titus – 2017-04-19T08:47:27.957

The ^ symbol! Of course! I had read about PHP's XOR ability a while back but had completely forgotten about it... Nice one! – WallyWest – 2017-04-19T08:49:59.860

1

VBA, 119 - 40 = 79 Bytes

Anonymous VBE Immediate window function that takes no input and outputs All your base are belong to us to the VBE immediate window

L=Chr(&H75):O=Chr(98):S=Chr(97):?Chr(65)"ll "Chr(&H79)"o"L"r "O;S"se "S"re "O"elo"Chr(&H6E)Chr(&H67)" "Chr(&H74)"o "L"s

This is largely a port of 12Me21's SmileBASIC Answer - Hooray for BASIC languages

Taylor Scott

Posted 2014-01-23T01:52:17.060

Reputation: 6 709

1

Whitespace, 194 (254 bytes - 60 bonus)

[S S S T    S T S N
_Push_10_s][S S S T T   S S N
_Push_12_u][S S T   T   S S T   S S T   N
_Push_-73_space][S S S T    T   S N
_Push_6_o][S S S T  S T T   N
_Push_11_t][S T S S T   S N
_copy_2nd_space][S S T  T   S N
_Push_-2_g][S S S T S T N
_Push_5_n][S S S T  T   S N
_Push_6_o][S S S T  T   N
_Push_3_l][S S T    T   S S N
_Push_-4_e][S S T   T   T   T   N
_Push_-7_b][S S T   T   S S T   S S T   N
_Push_-73_space][S S T  T   S S N
_Push_-4_e][S S S T S S T   N
_Push_9_r][S S T    T   S S S N
_Push_-8_a][S T S S T   T   N
_Copy_3rd_space][S S T  T   S S N
_Push_-4_e][S S S T S T S N
_Push_10_s][S S T   T   S S S N
_Push_-8_a][S S T   T   T   T   N
_Push_-7_b][S T S S T   S S N
_Copy_4th_space][S S S T    S S T   N
_Push_9_r][S S S T  T   S S N
_Push_12_u][S S S T T   S N
_Push_6_o][S S S T  S S S S N
_Push_17_y][S T S S T   S S N
_Copy_4th_space][S S S T    T   N
_Push_3_l][S N
S _Duplicate_8_l][S S T T   S T S S S N
_Push_-40_A][N
S S N
_Create_Label_LOOP][S S S T T   S T S S T   N
_Push_105][T    S S S _Add][T   N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP]

Letters S (space), T (tab), and N (new-line) added as highlighting only.
[..._some_action] added as explanation only.

Try it online (raw with spaces, tabs, and new-lines only).

Uses the shorter alternative I've explained in the bottom of this Whitespace tip, with the fixed amount being 105 in this case.

Kevin Cruijssen

Posted 2014-01-23T01:52:17.060

Reputation: 67 575

Very nice... I've was wondering when I've was going to see an esoteric answer creeping in! – WallyWest – 2018-04-06T09:25:06.587

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

Posted 2014-01-23T01:52:17.060

Reputation: 12 038

This can be shortened significantly – Timtech – 2017-02-16T00:09:16.697

1

Python, 181 - 40 = 141

[I'm using version 2.7.2 YMMV - the builtin, file is gone in 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

Gerrat

Posted 2014-01-23T01:52:17.060

Reputation: 221

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'

And score:

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

Aaron Hall

Posted 2014-01-23T01:52:17.060

Reputation: 141

Nicely done, but you really didn't need to do the same for determining the score... ;) – WallyWest – 2014-01-29T23:17:43.947

1

Mumps, 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

I'm not sure if it could have been done shorter (overall) by not getting one of the code bonuses - my goal was a bit less on shortness and a bit more on the -60... I liked the challenge of not using any of the restricted characters.

And... I goofed it up - missed the beginning 'S' command. :-/

Anyway, here's a "no rules" version - expanding the variables.

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

And that gives it a score of 177-60 = 117. So breaking the center rule still gave me a lower overall score.

zmerch

Posted 2014-01-23T01:52:17.060

Reputation: 541

Interesting answer... Is there an online emulator I can access to execute this code? – WallyWest – 2015-07-15T14:05:40.490

1Not to my knowledge, but there are versions for Mumps that run on just about every platform - there's even versions that will run on a Raspberry Pi if you want a very small Mumps machine... :-) – zmerch – 2015-07-15T14:25:50.740

1

Perl 5, 99 − 50 = 49

A subroutine that returns the required string:

{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"}

See it printed thus:

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

msh210

Posted 2014-01-23T01:52:17.060

Reputation: 3 094

0

Aceto, 23 bytes, non-competing

Challenge predates the language.

3rd grade Hilbert curve, 53 bytes - 30 bonus = 23.

lo'm"  u
e"poptos
b cIcIp"
rep'fo
asab
 er 
Aluo
"l y

L3viathan

Posted 2014-01-23T01:52:17.060

Reputation: 3 151

0

Japt, 33 - 60 = -27 bytes

`mßPÚXmÞ-ãù“`i`à ö` d"m " Å
i°Id

Try it online!

The shoco library is powerful at compressing lowercase letters, but I had to do lots of experiment in order to get a compressed string without any of the banned chars.

Unpacked & How it works

`mßPÚXmÞ-ãù“`i`à ö` d"m " s1
`mßPÚXmÞ-ãù“`                 "mbasemarembelongmtomus"
              i`à ö`           Insert "allmyour" at the beginning
                     d"m "     Replace "m" with " "
                           s1  Discard initial "a"
                               Implicitly assign to U

Ui++Id
Ui      Add to the beginning of U...
  ++I     65
     d    chr(65) == "A"

Bubbler

Posted 2014-01-23T01:52:17.060

Reputation: 16 616

0

In PHP Simple base64 decoding method can achieve the op

<?php echo base64_decode(QWxsIHlvdXIgYmFzZSBhcmUgYmVsb25nIHRvIHVz); ?>

BetaCoder

Posted 2014-01-23T01:52:17.060

Reputation: 17

@WallyWest invalid: contains B, e and g; so there is a member of each of the forbidden sets. – Titus – 2017-04-18T16:27:13.453

@Titus, ease up, BetaCoder is still new to the ways of the Force, dude... – WallyWest – 2017-04-18T19:32:57.200

@WallyWest Sure, sorry. Oh I misread your comment. invalid, but not invaliant. :) Actually it inspired me to try base64 on random obfuscations of the wanted output; but they all failed. +1 for the inspiration. – Titus – 2017-04-19T08:24:15.530

That reminds me, I'm going to skip to your PHP entry @Titus... I have a question about it... Trying to wrap my head around the logic... See you over there... – WallyWest – 2017-04-19T08:26:52.897

1Doesn't meet the conditions of at least 2 of the bonuses. – Gareth – 2014-01-25T22:30:48.303

Still, valiant attempt. – WallyWest – 2014-01-29T23:40:51.327

-3

GolfScript, 36 - 30 = 6

'Bmm!zpvs!cbtf!bsf!cfmpoh!up!vt'{(}%

Edit: I see Howard had the same idea, using unprintable characters.

Remy

Posted 2014-01-23T01:52:17.060

Reputation: 183

You fail at least two of the conditions, rendering this answer invalid. (I can see several bs (condition # 1) and several ss (condition 2)) – Justin – 2014-01-23T08:09:51.357

@Quincunx They're not required conditions, they just afford bonuses if you complete them. By your comment he would still get the 3rd bonus (hence the -30). However, it looks to me like there's an o in there too, so the score should be 36. – starsplusplus – 2014-01-23T08:56:30.150

7At least 2 of the 3 bonuses are required. – user2357112 supports Monica – 2014-01-23T08:58:09.423

You are correct. Also I misread the third condition - it's 0 not o. Wrong on two counts! – starsplusplus – 2014-01-23T09:01:19.597

@Quincunx Oops, you're right. No bonus, so it's still 36. – Remy – 2014-01-23T09:03:22.793