Input tidak diperlukan, dan output harus membaca " All your base are belong to us
".
Batasan
Tidak ada sumber daya eksternal.
Ditambah minimal dua hal berikut:
Anda tidak dapat menggunakan "a", "b", "t", "u", atau "y" dalam hal apa pun dalam kode Anda (bonus -10 untuk skor golf Anda jika Anda bisa melakukan ini)
Anda tidak dapat menggunakan "l", "o", "s", "e", atau "r" dalam hal apa pun dalam kode Anda (bonus -20 untuk skor golf Anda jika Anda bisa melakukan ini)
Anda tidak dapat menggunakan "n", "g", "0", "1", atau "2" dalam hal apa pun dalam kode Anda (bonus -30 untuk skor golf Anda jika Anda bisa melakukan ini)
Jadi misalnya, jika Anda berhasil menyelesaikan kode dengan 40 karakter dan menggunakan aturan 1 dan 2, skor golf Anda adalah 40 - 10 - 20 = 10 karakter.
Skor golf kode terkecil menang ... Semoga Sukses!
string
istirahat ketiga pembatasan, danchar
,var
danWrite
istirahat dua masing-masing. Ini akan sulit untuk mendapatkan jawaban yang valid, kecuali Barinfuck.print(input())
(python)? Pengguna akan diminta untuk memasukkan string yang benar, tetapi itu tidak dilarang.stdin
bisa dibilang "sumber eksternal".Jawaban:
SOGL V0.12 , 15 - 60 = -45
Coba Di Sini!
šz█P'zUS½█│β3‘
adalah string kompresiall your base are belong to us
, tetapi karena string yang tepat terkompresi yang terdapat0
, itu dibagi menjadi 3 bagian:all your base are
,belong to us
(yang biaya satu byte tetapi memberi bonus -30 byte). String pertama dan terakhir dikompres dengan kamus bahasa Inggris SOGL, dan secara implisit digabung dengan spasi. Sisanya⁾
adalah kasus kalimat sederhana bawaan.Perhatikan bahwa SOGL mengeposkan tantangan ini, tetapi itu dibolehkan sekarang.
sumber
GolfScript, -22 (38 karakter, -60 bonus)
sumber
"..."
mendefinisikan string dan blok{}%
melakukan operasi pemetaan atas semua karakter. Di dalam blok nilai ascii tersedia di tumpukan dan67-
kurangi 67 dari setiap nilai ascii.Guntingan , −40
丟
di depan, ubah skor menjadi .39.sumber
"input is not required"
seperti yang saya katakan, jadi saya akan melempar 丟 di depan dan mengubah skor menjadi -39, tapi usaha yang bagus! Terutama mengingat Anda menemukan bahasa, Bung!JavaScript - 140 byte - 60 bonus = 80 poin
Jalankan di Firefox.
Saya tahu apa yang Anda pikirkan. Tidak, itu bukan karakter yang tercantum dalam pertanyaan. Itu adalah karakter dengan caron, atau háček (dipilih secara acak dari daftar diakritik). Meskipun mereka menggabungkan tanda, mereka bukan dua karakter yang terpisah.
sumber
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);
APL (43 - 30 - 20 = -7)
Ini memenuhi aturan 2 dan 3.
sumber
INVALID TOKEN
kesalahan .... mungkin dari karakter awal dan tailing sebelum AV ... Apakah ada tempat lain yang bisa saya uji ini ...?Brainfuck, 267 - 60 = 207
sumber
HTML / CSS 70
http://jsbin.com/EjekuvuF/1/
Saya pikir saya pintar dengan tipe terbalik tetapi kemudian menyadari bahwa saya tidak bisa memenuhi aturan tambahan dengan HTML / CSS yang sebenarnya. Baiklah.
MEMPERBARUI:
User Flame menyarankan solusi yang lebih sesuai dengan lintas-browser:
http://jsbin.com/EjekuvuF/6
sumber
transform:rotate(.5turn)
menyelesaikan kesalahan Sintaks ... Saya suka imajinasi dimasukkan ke dalam ini ...MATLAB, Semua bonus: Skor -20 (40-60)
SUNTING:
Perhatikan bahwa saya tidak yakin apa persyaratan sistem untuk menjalankan ini, diuji pada windows. Bagi mereka yang kesulitan menyalin, kode serupa dapat dibuat seperti:
Jika diizinkan untuk meminta sesuatu sebagai masukan, solusi dengan karakter lebih sedikit (tetapi juga kehilangan bonus) tentu saja mungkin.
sumber
input
. Jawaban kedua adalah (afaik) tidak benar.input('')
panggilan tidak berakhir di titik koma, maka akan menghasilkan output.prompt()
"dd
, tapi mungkin itu dianggap sebagai sumber daya eksternal. Begitu juga input pengguna, tentu saja.,
,E
9/
52
E"
!3
%E
!2
%E
"%
,/
.'
E4
/E
5`3 Saya dapat memahami jawaban pertama, tetapi jawaban kedua membutuhkan input, yang saya katakan tidak" diperlukan "k (-7 = 53 - 60)
(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
tidak termasuk mengikuti baris baru, dapat ditambahkan dengan biaya satu karakter tambahan:
(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
mengganggu, satu-satunya penyeimbang yang bekerja untuk trik ini adalah 154 dan 155
sunting:
jika cukup untuk menampilkan string (daripada mencetaknya), karena saya menduga solusi APL tidak (tidak berfungsi di http://tryapl.com/ , jadi saya tidak dapat mengujinya dengan benar), itu
yang -12 = 48 - 60. bisakah saya mendapatkan putusan tentang apakah ini cukup?
sumber
dc,
97 - 60 = 3791 - 60 = 3188 - 60 = 2881 - 60 = 21Versi yang ditingkatkan (ide utama di sini adalah memvariasikan basis input, untuk meningkatkan peluang menemukan angka besar yang berguna tanpa angka yang bermasalah):
Di base 7, semuanya bisa menjadi satu nomor! Basis yang lebih rendah secara alami kurang kompak, tetapi kurangnya operasi perbaikan di sini menebusnya.
Solusi pertama saya dasar yang digunakan 10. saya kedua digunakan campuran dasar 9, 10, 12, 13, dan 15. Ini adalah dalam basis 7. Saya benar-benar merasa seperti semua dasar yang milik saya.
Terakhir, serius: Basis 13 melakukan pekerjaan yang baik pada segmen pertama, kemudian basis 7 untuk sisanya.
sumber
Python REPL,
12211698 karakter - 30 bonus =928668 poinSaya bisa menghilangkan nol di Python 3.3 dengan mengganti '
\40
' dengan\N{SP}
, tapi sayangnya,N
itu tidak diizinkan.Sunting : Terinspirasi oleh jawaban ini , saya telah mempersingkat lebih lanjut dengan menggantinya
\x40
dengan. Selain itu, karena saya sudah menggunakan
1
, menggantikan\156
olehn
dan\x67
olehg
memendek dengan yang lain 6 karakter sementara menimbulkan tidak ada hukuman tambahan.sumber
.py
file dan menjalankannya, tidak ada output.Brainfuck,
205203 - 60 =145143 byteVersi yang dapat dibaca:
sumber
Befunge 98: 122 - 60 = 62
Menghitung nilai ascii, lalu mencetaknya. Saya masih perlu mencoba metode lain untuk membentuk angka untuk melihat apakah ada cara yang lebih pendek.
sumber
Python, 195-40 = 155
sumber
Ruby, 121 - 50 = 71
Sedikit kekerasan, tetapi sebagian besar metode lucu dikesampingkan:
Melanggar aturan # 1 karena A di
pack
, dua lainnya harus OK.sumber
<<
jawaban saya.{ba, z} sh,
67 - 40 72 - 6061 - 40 = 21Sialan, ternyata saya punya
r
di sana yang saya tidak perhatikan, jadi bonus 20 tidak berlaku!sumber
$'\x74\x72'
dapat digunakan langsung sebagai nama perintah, menghemat 8 karakter untuk$(m4<<<)
. Tidakkah itu bekerja seperti itu untuk Anda?\x72
sebagai pengganti untukr
memberi Anda bonus 20 poin dengan biaya kehilangan bonus 30 poin (untuk2
)2
digunakan di sana, biarkan saya melihat apakah saya dapat menemukan cara untuk menghilangkannya dan menghindari kehilangan bonus.tr
dianggap sebagai sumber daya eksternal?C, 75 byte - 60 = 15
Terima kasih kepada @gastropner untuk mendapatkan skor turun dari 50 menjadi 33 dan dari 19 menjadi 15!
Mengambil alamat array char sebagai input dan menulis string ke array.
Cobalah online!
Telepon dengan:
Keluaran:
Versi lama (90 byte - 40 = 50):
sumber
*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);}
i=i<30
off untuk 2 byte lagi.0
.JavaScript
(306 karakter - 60 bonus = 246)(206 karakter - 50 bonus = 156)(123 karakter = 173 karakter - 50 bonus)
Agak nooby, mungkin bisa mendapatkan lebih banyak ... Beritahu saya jika saya telah memasukkan sesuatu, peringatan ini "Semua markas Anda adalah milik kami". Ini juga hanya ASCII.
Jika Anda menghitung konsol itu sendiri sebagai output, ini juga akan dihitung (57 dengan bonus):
sumber
x=(c.t+c)[6]
sedikit lebih pendekeval
mungkin lebih mudah untuk diretasBrainfuck, (227 - 60 = 167)
sumber
+++++ +++++
diperlukan? Bisa jadi 226 byte.PHP (35 - 60 = -25 byte)
HOW LOW CAN YOU GET ?
[1] [2][1] Program ini dapat diterjemahkan menggunakan
xxd -r
.[2] Ya, solusi berat digunakan kembali di sini. Saya pikir itu ... masalah ketiga yang saya selesaikan dengan cara ini. Mungkin saya harus pindah ke sesuatu yang lain, tetapi ini bukan berarti ini tidak bagus untuk masalah yang melarang Anda menggunakan sebagian besar karakter.
sumber
~
.Bash, 52 - 10 - 30 = 12
Berikut ini akan dieksekusi di lingkungan (masih sangat umum) ISO-8859-1:
Panggilan ini
tr
, yang menerjemahkan karakter dengan cara yang sesuai. Saya harus menggunakanr
dan melanggar aturan 2, atau menggunakan angka dalam pelarian dan melanggar aturan 3. Karena 3 memberikan bonus lebih banyak, saya memilih yang pertama.sumber
tr
merupakan sumber daya eksternal?Pure Bash (tanpa sumber daya eksternal), 141 karakter - 50 bonus = 91
Sengaja menjatuhkan bonus 10 poin untuk mendapatkan skor keseluruhan yang lebih baik.
Ini berfungsi pada semua
bash
versi 3.00.15 atau lebih baru yang telah saya coba.bagaimana cara kerjanya
Tidak ada ilmu roket di sini - adil
bash
ekspansi dari satu bentuk atau lainnya:[012]
. misalnya$'\x65'
memberi kitae
Z=({k..v})
). Awal dari ekspansi brace dipilih dengan cermat sehingga indeks karakter yang kami butuhkan tidak mengandung[012]
. misalnya${Z[7]}
memberi kitar
.bash
cukup fleksibel untuk memungkinkan perintahnya dibangun dari isi beberapa string. Begitu$f$'\x63'h$i
perluasecho
.Jawaban sebelumnya dengan bonus penuh, tetapi skor keseluruhan lebih buruk:
Pure Bash (tanpa sumber daya eksternal), 193 karakter - 60 bonus = 133
Saya tahu ini tidak akan menang, tetapi saya ingin membuktikan kepada diri saya bahwa ini mungkin terjadi
bash
, sambil memenuhi semua persyaratan:Ini memerlukan versi yang cukup baru
bash
untuk${c^}
ekspansi parameter. 4.2.25 baik-baik saja, tetapi 3.2.48 adalah no-go.sumber
Catatan tambahan, 364 - 40 = 324
Saya tidak bisa melakukannya tanpa
loser
, tentu saja. :)Ini dimulai dengan penyandian teks sebagai string base-36:
Dan kemudian menghapus 1s dan 0s dan 2s secara hitung. String kemudian dapat diregenerasi dengan
36 <string-buf> cvrs
, tetapi ini menghasilkan huruf besar, jadi kita perlu mengulangi dan menambahkan 0x20 untuk membuatnya lebih kecil.Operator
cvx exec
memungkinkan kami untuk mengeksekusi fragmen string token operator yang disandikan biner dalam berbagai penyandian. Paling sederhana adalah untuk menyandikan operator dalam hex<92??>
tetapi ada 2 di sana! Jadi pengkodean "tingkat pertama" adalah ascii85. Kemudian setiap string yang masih mengandung karakter terlarang melewati level ekstra hex -> ascii85 -> hex -> ascii85.sumber
Brainfuck, 306 - 60 = 246
sumber
PHP, 186 - 10 - 30 = 146
Saya harus sedikit kreatif;)
sumber
<?=
bukannya gema (4), Anda dapat menyimpan huruf yang diulang dalam variabel ('l', ''). gunakan54*2
sebagai ganti54+54
54*2
karena ada2
di dalamnya, jadi saya hanya bisa melakukannya dengan yang memiliki 3 atau lebih tinggi memiliki faktor. Jika saya menggunakan desimal, maka tidak ada karakter yang kurang.chr(68+33)
danchr(38*3)
dengan literale
danr
.Python, 181 - 40 = 141
[Saya menggunakan versi 2.7.2 YMMV - builtin,
file
hilang dengan python 3.X]sumber
Python (104 - 30 = 74)
Dan skor:
sumber
Gondong, 150 -
60 = 90.40 = 110Saya tidak yakin apakah itu bisa dilakukan lebih pendek (keseluruhan) dengan tidak mendapatkan salah satu bonus kode - tujuan saya sedikit kurang pada kekurangan dan lebih banyak pada -60 ... Saya menyukai tantangan tidak menggunakan salah satu karakter yang dibatasi.
Dan ... Saya melakukan kesalahan - melewatkan perintah awal 'S'. : - /
Bagaimanapun, ini adalah versi "tanpa aturan" - memperluas variabel.
Dan itu memberikan skor 177-60 = 117. Jadi melanggar aturan pusat masih memberi saya skor keseluruhan yang lebih rendah.
sumber
Perl 5, 99 - 50 = 49
Subrutin yang mengembalikan string yang diperlukan:
Lihat itu dicetak sebagai berikut:
sumber
BF-RLE , 146 - 30 = 116
sumber