O Real Slim Shady

43

Faça o seguinte no menor número de bytes possível:

I'm Slim Shady. Yes, I'm the real Shady.
All you other Slim Shadys are just imitating.
So, won't the real Slim Shady please stand up?
Please stand up. Please stand up.

As cinco palavras a seguir devem aparecer EXATAMENTE UMA VEZ no seu código:

I'm
Slim
Shady
real
stand

rybo111
fonte
32
Agora essa música estúpida está na minha cabeça.
Darth Egregious
Tudo bem se o programa produzir mais que o texto completo? Ou seja. encerrando a letra em parênteses.
22414 Sylwester
@Sylwester Desde que siga as regras, você pode codificá-lo como quiser.
precisa saber é o seguinte
Isso é realmente complexidade kolmogorov ? É verdade que qualquer programa com a saída correta limita a complexidade de Kolmogorov acima, mas a restrição extra parece forçar um programa não ideal.
Peter Taylor
@ PeterTaylor, você pode estar certo - deixarei para a comunidade editar ou não.
Rybo111

Respostas:

28

Python: 176

print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm ","Slim ","Shady","the real ","lease stand up")

Naturalmente, a mesma idéia que outras soluções de compressão (embora obtidas independentemente).

nneonneo
fonte
1
Por engano, votei contra este. Desculpa. (Se você fizer qualquer alteração acho que posso remover o downvote)
edc65
@ edc65: Obrigado pela honestidade :) Editei a resposta.
Nneonneo 1/08
Você pode cortar 3 bytes apenas reutilizando os espaços. print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other{1}{2}s are just imitating.\nSo, won't{3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm"," Slim"," Shady"," the real","lease stand up")
precisa saber é
25

Brainfuck 1923 bytes

Desfrutar...

-[------->+<]>.+[-->+<]>++.---[->+++<]>+.
[->+++++<]>-.>-[--->+<]>--.--[--->++++<]
>.---.++++.[->+++++<]>-.>-[--->+<]>--.>+
[----->+++<]>+.-------.+++.+[--->+<]>++.
-----[++>---<]>.++[--->++<]>.--[->+++<]>-.
[->++++<]>+.[--->+<]>----.-[++>---<]>+.
------------.++++[->++<]>+.+[-->+<]>++.---
[->+++<]>+.[->+++++<]>-.---[->++++<]
>.------------.---.--[--->+<]>-.---[----->++<]
>.-------------.----.+++++++++++.[++>---<]
>--.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-----[++>---<]>.>
++++++++++.+++[->+++++<]>.[--->+<]>+..
[++>---<]>--.--[->++++<]>+.----------.++++++.-
[---->+<]>+++.+++++[->+++<]
>.+++++.------------.---.+++++++++++++.
[-->+++++<]>+++.>-[--->+<]>--.--
[--->++++<]>.---.++++.[->+++++<]>-.>-
[--->+I'm<]>--.>+[----->+++<]>+.-------.+++.+
[--->+<]>++.------.+[---->+<]>+++.[->+++<]>+.--
[--->+<]>---.-------------.--[--->+<]>-.-
[--->++<]>.+++++++++++.--.+.
[---Slim->+<]>+++.-[--->++<]>-.++++.----.
+++++++++++.+[->+++<]>++.--[--->+<]
>-.-----------.+++++.-------.--[->+++<]>-.
>++++++++++.>-[--->+<]>--.[--->+<]>--.
[->+++++<]>+.------------.--[->++++<]>-.
--------.-.[++>---<]>++.[->+++<]>-.[---->+
<]>+++.---[->++++<]>.------------.---.--[---
>+<]>-.---[----->Shady++<]>.-------------.-
---.+++++++++++.[++>---<]>--.>-[--->+<]
>--.--[--->++++<]>.---.++++.[->+++++<]
>-.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-[---->+<]>++.[-->+++++++<]
>.----.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[--->++++<]>-.>
++++++++++.[->++++++++<]>.+[--->++++<]
>.---real----.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]>-.---
[->++++<]>+.-----.[->+++++<]>--.++[--->++<]
>.[-->stand+++++<]>.+[--->++++<]>
.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[->+++++<]>--.

Orifícios de loop padrão

Joshpbarron
fonte
Não inclui as cinco palavras.
nwp 01/08/19
6
Talvez deslocamento direita, no entanto eu vou editar o post, assim você não tem também ...
Joshpbarron
Eu rolei, mas de alguma forma perdi as palavras, desculpe.
Nwp 01/08/19
Agora está claro!
Edc65
1
Eu vim com 1918 caracteres, não sei se algum desses caracteres está fora da norma em que eles usariam bytes extras. Eu não sei outra maneira de contar Bytes ainda assim eu diria 1918
Malaquias
17

Perl, 155

Com melhorias de Martin Büttner e Thaylon :

$_="01. Yes, 02X.
All you other1s are just imitating.
So, won't21 p3?
P3. P3.";s/\d/("I'm"," SlimX"," the real","lease stand up")[$&]/ge;s/X/ Shady/g;print
ossifrage melindroso
fonte
@ MartinBüttner Excelentes sugestões. Thanks :-)
ossifrage escrúpulos
Você pode omitir o último; também.
Thaylon
2
Ame o "All-lhe outros 1s" parte
William Barbosa
Mudando o "" para 157: $ _ = "01. Sim, 032. Todos os outros1s estão apenas imitando. Portanto, não3131 p4? P4. P4."; S / 0 / eu sou / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / real / g; s / 4 / locação de pé / g; print
Thaylon
As minas são tão parecidas agora, e eu fui mais tarde, então eu simplesmente as apago. Você pode obter outro byte de 2 bytes com: $ _ = "01. Sim, 02X. Todos os outros1s estão apenas imitando. Então, não vai21 p3? P3. P3."; S / \ d / ("I'm", "SlimX", "the real", "lease stand up") [$ &] / ge; s / X / Shady / g; print
Thaylon
12

Ruby, 154 bytes

$><<"012. Yes, 032.
All you other12s are just imitating.
So, won't312 p4?
P4. P4.".gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}

Depois de ajudar algumas pessoas a dividir as strings de preenchimento, decidi tentar a idéia de retorno de chamada de substituição. ;)

Martin Ender
fonte
1
Você pode salvar alguns caracteres: #{h+a}é menor que "+h+a+"e #{d+h+a}menor que "+d+h+a+".
ProgramFOX
1
@ProgramFOX oO ... Tenho vergonha de dizer que só pensei nisso #{h}#{a}.
Martin Ender
Pode economizar um pouco mais com h=" Slim"+a=" Shady", e um substituindo puts por $><<.
histocrat
154 com.gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}
Ventero
@Ventero thanks! :)
Martin Ender
9

JavaScript (E6) 165

O mesmo em outro idioma

alert("012. Yes, 05326All you other12s are just imitating6So, won't5312 p4?\nP4. P4."
.replace(/\d/g,x=>"I'm1 Slim1 Shady1real1lease stand up1 the 1.\n".split(1)[x]))

Explicação: substitua cada dígito único na primeira sequência pela sequência correspondente na matriz ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Revisado com as novas regras aqui no PPCG (saída retornada de uma função, sem restrições sobre os recursos mais recentes que o desafio), isso pode ser 158. Veja o trecho

F=
_=>`012. Yes, 0532.
All you other12s are just imitating.
So, won't5312 p4?
P4. P4.`.replace(/\d/g,x=>"I'm, Slim, Shady,real,lease stand up, the ".split`,`[x])

console.log(F())

edc65
fonte
1
louco merda, eu gosto disso
John Smith
Boa implementação :) Você pode salvar um byte usando um literal de modelo na replacefunção e substituindo-o \npor uma nova linha real.
Salsicha
@Shaggy eu poderia fazer melhor com literais de modelo, mas onde não implementado em qualquer navegador no momento (agosto de 2014)
edc65
Ah entendo. Isso invalida minha resposta , portanto, visto que essa pergunta foi publicada antes que a especificação que define os literais do modelo fosse padronizada?
Salsicha
1
@JacobPersi dê uma olhada
edc65
6

CJam - 133

"I'm| Slim| Shady| the real|lease stand up|432. Yes, 412.
All you other32s are just imitating.
So, won't132 p0?
P0. P0."'|/~5,{`/\*}/

Experimente em http://cjam.aditsu.net/

Eu acho que também funciona no GolfScript se você substituir '|por"|"

aditsu
fonte
7
Todos os outros trinta e dois estão apenas imitando. Então, um três dois xixi ze-ro? Pee ze-ro. Pee ze-ro. É assim que vai soar na minha cabeça a partir de agora. : P
Dennis
6

GolfScript, 162 154 152 144 144 bytes

"I'm ":i"Slim ":|"Shady":y". Yes, "i"the real ":!y".
All you other "|y"s are just imitating.
So, won't "!|y" p""lease stand up":l"?
P"l". P"l"."

Teste on-line

ProgramFOX
fonte
3
Você pode salvar 8 bytes substituindo \ne npor um avanço de linha real e escolhendo nomes de variáveis ​​não alfanuméricos (por exemplo, &) para eliminar o espaço em branco ao redor deles.
Dennis
@ Dennis Muito obrigado! Eu editei minha resposta.
ProgramFOX
A guerra começou.
Josiah Winslow
5

VBA 307 bytes

E ofuscado com separadores de linha (apenas por diversão). Com base nesta resposta

Function p()
e = "Slim ": m = "Shady": i = "I'm ": n = "lease stand up": s = "real ": a = "."
p = i & e & m & ". Yes, " & i & "the " & s & m & a & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & s & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & a
End Function

Chamado da janela imediata com ?p.

O 307 inclui o ?p.

Pato de borracha
fonte
1
P, na janela imediata eu vejo, +1
Alex
você deve se livrar do a = "."que eu acho que você poderia raspar alguns bytes
Malaquias
Na verdade, pensando bem, eu acho que é mais legível com os separadores de linha vs novas linhas ...
RubberDuck
você não pode se livrar dos espaços entre os operadores?
Malachi
1
@ Malachi de acordo com as especificações, sim, mas as implementações reais forçam o espaço em branco em você. Se eu fizesse isso no VBScript, provavelmente poderia reduzi-lo um pouco.
RubberDuck
5

PHP - 151 bytes

<?="I'm Slim Shady".gzinflate("]Œ1
„0E{Á;üÎFr…ÅÒNHe9à°F&‰d&,Þ~Avmßûï;̬=Æ.ÂVFaø•–ÃµÍ ‚#WäÓx    ñR
*Œ­ª!Ä`d!½Ï¹Ï=>9uöót7Ø…Ij”ÔýÕ6Ó?qx‚/");@realstand;

hexdump:

0000000 3f3c 223d 2749 206d 6c53 6d69 5320 6168
0000010 7964 2e22 7a67 6e69 6c66 7461 2865 5d22
0000020 318c 840a 1030 7b45 3bc1 cefc 7246 c585
0000030 4ed2 6548 e039 46b0 8926 2664 de2c 057e
0000040 7641 df6d effb cc3b 3dac 2ec6 56c2 6146
0000050 f812 9695 b5c3 20cd 2382 e457 14d3 0978
0000060 52f1 2a0a ad8c 21aa 60c4 2164 cfbd cfb9
0000070 3e3d 7539 f3f6 3774 85d8 1949 946a d416
0000080 d5fd d336 713f 8278 222f 3b29 7240 6165
0000090 736c 6174 646e 003b
0000097

Outra resposta sem usar o gzinflate (228 bytes):

Lê curtas (16 bits), extrai 3 inteiros de 5 bits como índices de uma tabela de pesquisa.

<?$a=str_split(" .Yes,AlyouthrajimngSw'pP?
")+[27=>"I'm ",'Slim ',@Shady,'the real ','lease stand up'];$b=unpack(@v26,'o…~:tç       (ƒ-4€t£9ê`0BË-SBT $2U`Y{ÿXg |ác');foreach($b as$c)echo$a[$c>>10],$a[$c>>5&31],$a[$c&31];

hexdump:

0000000 3f3c 6124 733d 7274 735f 6c70 7469 2228
0000010 2e20 6559 2c73 6c41 6f79 7475 7268 6a61
0000020 6d69 676e 7753 7027 3f50 220a 2b29 325b
0000030 3d37 223e 2749 206d 2c22 5327 696c 206d
0000040 2c27 5340 6168 7964 272c 6874 2065 6572
0000050 6c61 2720 272c 656c 7361 2065 7473 6e61
0000060 2064 7075 5d27 243b 3d62 6e75 6170 6b63
0000070 4028 3276 2c36 9d27 026f 8504 7e0c 3a03
0000080 e774 0918 0901 8328 1c2d 8034 a374 ea39
0000090 6001 3011 cb42 532d 5442 a007 3224 6055
00000a0 9d59 ff7b 5802 2067 e17c 2763 3b29 6f66
00000b0 6572 6361 2868 6224 6120 2473 2963 6365
00000c0 6f68 6124 245b 3e63 313e 5d30 242c 5b61
00000d0 6324 3e3e 2635 3133 2c5d 6124 245b 2663
00000e0 3133 3b5d
00000e4
es1024
fonte
5

C, 374

Movendo a memória

Não é o mais curto, mas pode ficar mais rápido?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *s;
void m (int d, int f, int p)
{
    memmove (s+p+f, s+p, strlen(s)-p+1); // Shift a part of the string to make room for our insertion
    memcpy (s+p, s+d, f); // Copy the desired reference in place
}
int main ()
{
    s = malloc (168);
    strcpy (s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");

    m (0, 4, 21);
    m (8, 6, 33);
    m (3, 11, 54);
    m (28, 5, 100);
    m (3, 11, 105);
    m (118, 14, 135);
    m (134, 16, 151);
    puts (s);
}

São 374 caracteres por muito tempo após a minificação.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*s;void m(int d,int f,int p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}int main(){s=malloc(168);strcpy(s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}
marctrem
fonte
Bom, mas você pode jogar até 278 bytes:char s[168]="I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ";m(d,f,p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}main(){m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}
Johan du Toit
5

Java, 247

Meu primeiro código de golfe, enquanto aprendia Java. Publicou porque supera a outra entrada Java (totalmente funcional) e a entrada Haskell.

class S{public static void main(String[]a){String s="I'm",t=" Slim",u=" Shady",v=" the real",w="lease stand up";System.out.print(s+t+u+". Yes, "+s+v+u+".\nAll you other"+t+u+"s are just imitating.\nSo, won't"+v+t+u+" p"+w+"?\nP"+w+". P"+w+".");}}
CoolWilly
fonte
5

C # 209 205 201 197 209 212 217

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.", "I'm ","Slim ","Shady","the real ","lease stand up");}}

Agora com capitalização adequada e novas linhas

Malaquias
fonte
1
Você provavelmente poderia salvar mais alguns caracteres movendo espaços da string de formato para substituições, como WriteLine("{0}{1}","I'm ","Slim ").
precisa saber é o seguinte
1
A nova linha final não parece ser um requisito, portanto, considere usar em .Write()vez de .WriteLine(). Mesmo que seja necessário, .Write()com a \né mais curto.
Bob
obrigado @Bob que me salvou mais 4 byes! mesmo na minha resposta VB também!
Malachi
Você não tem de capital P está no favor Levante-se duas vezes
IEatBagels
@TopinFrassi, eu o corrigi nesta resposta e na minha resposta VB também. Também estava faltando um espaço. Eu estou perguntando sobre as novas linhas na saída agora ...
Malaquias
5

VB 253 249 245 241 244 285 259 223

Eu odeio o encerramento da New Line

Module M
Sub Main
Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.{5}All you other {1}{2}s are just imitating.{5}So, won't {3}{1}{2} p{4}?{5}P{4}. P{4}.","I'm ","Slim ","Shady","the real ","lease stand up",vbCr)
End Sub
End Module

Agora com letras maiúsculas e novas linhas na saída e sem guias *

Obrigado VB por vbCrLf

Obrigado, @ Taylor Taylor!

Malaquias
fonte
Gostaria de saber se isso será executado sem as guias e novas linhas ?????
Malachi
ele não vai me deixar entrar Visual Studio 2013
Malaquias
1
223 Bytes
Taylor Scott
1
@ TaylorScott, aparentemente ele permitirá que você codifique sem os recuos agora. ou talvez seja apenas Mono para você
Malaquias
Tanto quanto eu estou ciente, sim, o que o compilador pode analisar é fortemente dependente de qual versão você está em - especialmente voltar para VB 6.0 e anteriores
Taylor Scott
4

VBA 343 bytes

Sub EMINEM()
e = "Slim "
m = "Shady"
i = "I'm "
n = "lease stand up"
em = "real "

MsgBox i & e & m & ". Yes, " & i & "the " & em & m & "." & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & em & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & "."

End Sub
Alex
fonte
1
Very Nice implementação
Malaquias
Graças à Malachi, não posso pular esse golfe como velhos fãs de Eminem.
Alex
Estou trabalhando em um agora.
Malachi
2
É ótimo ver alguém jogando golfe no VBA. Você não pode imprimir na janela imediata com isso ??
precisa
1
@ ckuhn203 "?" muda para 'print', mas precisarei de debug.print, para que estrague toda vez que uso "?". Sinta-se livre para apontar se posso fazê-lo aqui, obrigado!
Alex
4

PowerShell 194 189 164

"{0}{1}{2}. Yes, {0}{3}{2}.`nAll you other {1}{2}s are just imitating.`nSo, won't {3}{1}{2} p{4}?`nP{4}. P{4}."-f"I'm ","Slim ","Shady","the real ","lease stand up"

De alguma forma, minha resposta acabou parecendo muito com @ nneonneo , mesmo que não fosse minha intenção original ...

DarkAjax
fonte
3

PHP - 196 171

<?$S="Shady";$P="lease stand up";$R="the real ";$I="I'm ";$s="Slim ";echo"$I$s$S. Yes, $I$R$S
All you other $s$S"."s are just imitating.
So, won't $R$s$S p$P?
P$P. P$P."

;

ArcticanAudio
fonte
3

Lua 201 193 188 178

h=" Shady"i="I'm"s=" Slim"..h r=" the real"u="lease stand up"io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

Ungolfed & expandiu alguns

h=" Shady"
i="I'm"
s=" Slim"..h
r=" the real"
u="lease stand up"
io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")
Kyle Kanos
fonte
3

Lisp comum, 197

(let((a"I'm ")(b"Slim ")(c"Shady")(d"real ")(e"lease stand up"))(format t"~{~A~}"(list a b c". Yes, "a"the "d c".
All you other "b c"s are just imitating.
So, won't the "d b c" p"e"?
P"e". P"e"")))
fstamour
fonte
3

Perl, 161 164 bytes

Não é tão curto quanto a resposta de ossifrage melindrosa , mas eu queria compartilhar a CamelCaseCompression, que ninguém mais usou e permite a remoção de muitos espaços e aspas.

Porém, ele precisa de um texto um pouco mais longo para se tornar realmente benéfico.

$_="0 1 2. Yes, 03 2.
AllYouOther 1 2sAreJustImitating.
So, won't3 1 24?
4. 4.";s/\d/qw(I'm Slim Shady TheReal PleaseStandUp)[$&]/ge;s/\B([A-Z])/ \L\2/g;print

Edit: Seguindo a sugestão de Thaylon, a s/(\S)([A-Z])/\1 \L\2/gsubstituição foi reduzida por quatro caracteres. No entanto, isso não ocorre nos dígrafos com capital de vírgula; portanto, um espaço extra teve que ser inserido antes do "não".

comperendinous
fonte
Interessante. Um pouco mais curto com "sem limite de palavra": s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon
Obrigado @Thaylon. \ B é algo sobre o qual terei que ler. É estranho.
comperendinous
3

PYTHON: 198 193 bytes

i,s,h,r,t="I'm ","Slim ","Shady","real ","lease stand up"
print i+s+h+". Yes, "+i+"the "+r+h+".\nAll you other "+s+h+"s are just imitating.\nSo, won't the "+r+s+h+" p"+t+"?\n"+"P"+t+'. P'+t+'.'
RageCage
fonte
mover pleasepara a variável de retenção stand upe se livrar de sua gvariável, e, possivelmente, remover /nvocê não precisa deles
Malaquias
Se eu remover o \ n, as novas linhas desaparecerão e presumo que sejam necessárias para a saída.
RageCage
3

Golfscript - 140 (tweetable)

"I'm"" Slim"" Shady"". Yes, "3$" the real"3$".
All you other"6$2$"s are just imitating.
So won't"5$3$3$" p""lease stand up""?
P"1$". P"1$"."

Eu sou Slim Shady. Sim, 3 o real 3.

Todos os outros 62 estão apenas imitando.

Então 533, por favor, não se levante?

P1 P1

Josiah Winslow
fonte
3

Ferrugem (programa completo), 183 180 178 173 172 bytes

178 -> 173 bytes, graças a Sara J

fn main(){print!("{}{}{}. Yes, {0}{}{2}.
All you other{1}{2}s are just imitating.
So, won't{3}{1}{2} p{}?
P{4}. P{4}.","I'm"," Slim"," Shady"," the real","lease stand up")}

Experimente online!

ruohola
fonte
173 bytes
Sara J
@ SarahJ Ofc, obviamente! Obrigado :)
ruohola 22/07
2

C # 226

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0} the{3} {2}.All you other{1}{2}s are just imitating.So, won't the{3}{1}{2} please{4}up?Please{4}up. Please{4}up.","I'm"," Slim ","Shady"," real"," stand ");}}
CheeZe5
fonte
você perdeu alguns pontos onde pode remover um monte de personagens, confira o meu. codegolf.stackexchange.com/a/35557/9435
Malachi
2

Java, 308 301 298 292 258

Java é um pouco detalhado, mas aqui está a minha tentativa:

class P{public static void main(String[]c){String s=" Shady",t=" the real",l="lease stand up",i=" Slim",m="I'm";System.out.format("%s%s%s. Yes, %s%s%s.\nAll you other%s%ss are just imitating.\nSo, won't%s%s%s p%s?\nP%s. P%s.",m,i,s,m,t,s,i,s,t,i,s,l,l,l);}}
tim
fonte
1
Você pode mesclar 1 'real' e 'the', eles sempre estão juntos 2-mover alguns espaços em branco da string de grande formato 3-acima de tudo: use mais variáveis ​​únicas, o array a não será útil. Ao todo, você pode ir para ~ 270
edc65
@ edc65 Eu não sabia que poderia declarar várias strings em Java sem escrever Stringvárias vezes. É por isso que eu tinha a matriz para todas, exceto uma variável. Muito obrigado pelas dicas.
tim
2

MySQL: 273 267

set @i="I'm", @s="Slim", @h="Shady", @r="real", @t="stand", @p="lease stand up";select concat(@i," ",@s," ",@h,". Yes, ",@i," the ",@r," ",@h,".\r\nAll you other ",@s," ",@h,"s are just imitating.\r\nSo, won't the ",@r," ",@s," ",@h," p",@p,"?\r\nP",@p,". P",@p,".");
g.carvalho97
fonte
2

Ruby: 211

Este é impressionante, pois a simples impressão do texto é mais eficiente, mas é muito mais legal.

puts Zlib.inflate("eJxdjDEKwzAQBHu9Yjs3Rl8ILt0FVKU88GErnCWhO2H8e6sIwUmzxQyz87AjSOyz0XJ6vFhHzB3axqhM8hFuEsGZG3IX9ZYoqDLeTQ1xj0YW0+pdyCOOnAa7/XwTFGFShhqlBa083PMXePyDC15NOP8=".unpack("m0")[0])#I'mSlimShadyrealstand
Automatico
fonte
2

JavaScript 259 240 238 bytes

Não é tão bom, mas pode muito bem postar uma resposta.

b=String.prototype,b.a=b.replace,alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4.".a(/1/g,"I'm ").a(/2/g,"Slim ").a(/3/g,"Shady").a(/4/g,"lease stand up").a(/5/g,"real ").a(/6/g,"the ").a(/7/g,".\n"))

Versão mais legível:

b=String.prototype
b.a=b.replace
alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4."
    .a(/1/g,"I'm ")
    .a(/2/g,"Slim ")
    .a(/3/g,"Shady")
    .a(/4/g,"lease stand up")
    .a(/5/g,"real ")
    .a(/6/g,"the ")
    .a(/7/g,".\n")
    )
Mark Gabriel
fonte
2

F #, 250 242

[1..21]|>List.iter((function|1|5->"I'm "|2|9|13->"Slim "|4->". Yes, "|6|12->"the real "|8->".\nAll you other "|11->"s are just imitating.\nSo won't "|15->" p"|16|18|20-> "lease stand up"|17->"?\nP"|19->". P"|21->"."|_->"Shady")>>printf "%s")

Versão mais legível com quebras de linha:

[1..21]|>List.iter((function
|1|5->"I'm "
|2|9|13->"Slim "
|4->". Yes, "
|6|12->"the real "
|8->".\nAll you other "
|11->"s are just imitating.\nSo won't "
|15->" p"
|16|18|20-> "lease stand up"
|17->"?\nP"
|19->". P"
|21->"."
|_->"Shady")>>printf "%s")
Mark Pattison
fonte
2

JavaScript (ES6), 165 163 bytes

f=

_=>`${a="I'm"}${b=` Slim${c=` Shady`}`}. Yes, ${a+(d=" the real")+c}.
All you other${b}s are just imitating.
So, won't${d+b} p${e="lease stand up"}?
P${e}. P${e}.`

console.log(f());

Shaggy
fonte
2

PHP, 179 bytes

<?
$i="I'm";
$s=" Slim";
$h=" Shady";
$p="lease stand up";
$r=" the real";
echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";

E jogou golfe

<?$i="I'm";$s=" Slim";$h=" Shady";$p="lease stand up";$r=" the real";echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";
Brobin
fonte