Ini adalah tahun 87.539.319 dan berjalan-jalan sendirian sekarang sudah lumrah, banyak orang bepergian ke luar angkasa sendirian, didorong oleh apa pun kecuali jetpack di punggung mereka, memprogram jalan mereka dengan komputer dan keyboard pribadi saat mereka pergi.
Anda adalah orang seperti itu; Anda keluar di luar angkasa yang indah dan damai, ketika, tiba-tiba, Anda terjerat oleh gravitasi lubang hitam!
Ketika Anda jatuh ke lubang hitam ini, berputar semakin cepat ke dalam, Anda menyadari satu-satunya peluang Anda untuk bertahan hidup adalah menyiarkan pesan darurat, dan berharap kapal terdekat datang untuk menyelamatkan Anda.
Jadi, Anda keluar keyboard Anda, dan mulai mengetikkan program.
Program Anda bisa dalam bahasa apa pun, dan harus mencetak HELP!
ke stdout (PC Anda menyiarkan semua stdout jauh ke kedalaman ruang.)
Namun, saat Anda berada di dekat lubang hitam, keyboard Anda perlahan-lahan menjadi tercabik-cabik!
Asumsikan Anda menggunakan keyboard QWERTY seperti di bawah ini, dan lubang hitam ada di sebelah kiri Anda;
Ingat, shift kiri dan kanan adalah dua kunci yang berbeda.
setelah setiap penekanan tombol, baris paling kiri dari keyboard Anda (tombol yang ditutupi oleh garis merah paling kiri) dirobek dan terlempar ke lubang hitam!
Jadi, menekan tombol pertama Anda bisa menjadi salah satu tombol pada keyboard, tetapi sejak itu dan seterusnya tak satu pun dari paling kiri Tab , Caps, Shift, Ctrlatau `kunci dapat digunakan, sama sekali . (r-shift dan r-ctrl masih dapat digunakan)
Setelah menekan tombol berikutnya, tombol 1, Q, A, Zdan Altyang terlempar ke jurang, dan tidak dapat digunakan setelahnya. Setelah itu, Anda kehilangan Space, X, S, W, 2dan sebagainya.
Jelas, Anda ingin menyelesaikan program Anda secepat mungkin, sehingga waktu penyelamatan meningkat; karena itu, ini adalah kode-golf, dan program terpendek dalam penekanan tombol menang!
Setiap jawaban harus memberikan daftar penekanan tombol, jadi, jika jawaban saya adalah program ini (dalam bahasa squardibblyack)
!HELP\.
seorang keylist dapat terlihat seperti:
Shift!HELP lepaskan shift \.
panjang: 8
Saya khawatir tantangan ini mungkin terlalu sulit, tetapi saya ingin melihat jawaban yang diajukan!
sumber
print
memenuhi syarat sebagai STDOUT?Jawaban:
CJam, 11 penekanan tombol
Kodenya adalah
dan keylist adalah
Shift"HELP*") lepaskan shift 9-
dan ini adalah demonstrasi tampilannya:
dan inilah cara kerjanya:
Coba kodenya di sini
sumber
"HELP*")9-[]+''+
. Saya tidak bisa mengetik empat yang terakhir.E
, sepertinya ia akan masuk ke dalam jurang!rs , 10 penekanan tombol (anggap pengguna menggunakan Nano)
Atau editor setara di mana Shifttidak memilih teks.
Ini sebenarnya bukan bahasa pemrograman, tetapi jika
sed
dapat digunakan pada Code Golf, makars
dapat digunakan.Right Shift ! Left E Left H Right L P Enter
Itu hanya menggantikan string kosong dengan "BANTUAN!", Secara efektif mencetaknya ke layar. Hampir setara dengan skrip sed:
Bagian kerennya adalah yang
rs
secara otomatis diletakkan^/
di depan pola pengganti di mana pembatas (/
) tidak ditemukan. Berguna untuk indentasi kode.sumber
Enter
juga stroke. 10 pukulan.Saya percaya bahwa cara tercepat yang bisa dilakukan dalam skrip apa pun adalah Random's 11 with Pyth, karena bahasa apa pun akan memerlukan beberapa karakter, seperti "p" atau tanda kutip atau tanda bintang atau sesuatu, lalu kata
HELP!
, dan itu Eakan pergi cepat, berarti penekanan tombol tambahan untuk memindahkan kursor kembali sebelum Edimasukkan H, seperti yang ia temukan, lalu maju lagi untuk Ldan P.Jika Anda memiliki sesuatu yang memerlukan kata perintah, seperti
disp
atauecho
, Anda harus melakukan spasi terlebih dahulu sebelum robek, Shiftdan !, kemudian gunakan Hometombol untuk memulai kata Anda, dan tombol panah seperti yang dijelaskan secara acakHELP
. Tapi Anda akan meraba-raba sampai Anda hanya tersedot atau kehilangan kunci yang Anda butuhkan terlalu cepat untuk melakukan salah satu dari itu. Hanya ada maksimal 14 karakter, dan dengan asumsi yang terakhir adalah \atau |. Anda perlu 10 hanya untuk melakukanHELP!
:SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER
The mendefinisikan
"
atau*
atauP
akan mendapatkan ditekan sesaat sebelum H. Jadi 11 harus menjadi yang tercepat. Atau 9 jika kita mengabaikan tanda seru dan menggunakan huruf besar semua dan tidak memiliki simbol untuk diketik.Tapi tidak, saya, sebagai sejarawan internet pada tahun 87.539.319 dan semua, dan menjadi paranoid alien dan hujan meteor yang aneh, apalagi lubang hitam, saya tidak akan puas dengan itu. Sebelum saya keluar berjalan-jalan, saya siap, dengan artikel ini saya akan menemukan dalam penelitian saya untuk berterima kasih untuk itu. Saya akan memuat file teks yang sudah memiliki "BANTUAN!" di dalamnya, dan memiliki program yang bisa menulis posisi koordinat saya menggunakan data satelit pelacakan terbaru yang kami miliki ke file itu. Program yang saya sebut "hlp.c", jadi akan pergi:
7 penekanan tombol:
c Home h l p . Enter
Saya sadar saya bisa membuat nama file saya lebih pendek, tetapi tidak ada yang mau menyiarkan posisi mereka secara tidak sengaja dengan mengetik Hdan Enter, terutama jika program juga memberi tahu pihak berwenang (sedikit seperti menelepon 911 ketika Anda tidak memiliki keadaan darurat?) Jadi mari pergi dengan nama file 3 huruf, dan kami akan menganggap kami masih memiliki ekstensi file dengan
.
dan minimal 1 karakter. Selain itu, menamakannyahlp
bukanhelp
berarti kita menghindari fitur-fitur Bantuan yang tidak menyenangkan dan bawaan saat kita akan mati dalam lubang hitam. Saya menyadari bahwa saya bahkan dapat menghilangkan mengetik .cdengan hanya melakukan h l p Enter, tetapi dengan cara ini saya menghindari mereka yang jahatPlease supply file extension
atauCannot find hlp
kesalahan ketika saya akan tersedot ke dalam lubang hitam. "Sampah masuk, sampah keluar", toh, masih akan menjadi standar di masa depan.Jadi gambar saya akan terlihat seperti:
Dan ini juga mudah diingat, karena satu-satunya "keterbelakangan" adalah mengetik cterlebih dahulu. Sisanya sama seperti nama file.
sumber
hlp.c
C
help.exe
(atauhelp.out
) untuk menjalankan file kode yang dikompilasi. Dan terakhir, jika Anda membengkokkan aturan dan memanfaatkan celah terlalu banyak, mengapa tidak sekadar memanggil fileh.c
?.c
file adalah bahwa itu bisa CSCRIPT, bukan kode C aktual yang akan membutuhkan kompiler. Memilikih.c
bisa berarti ketika mencoba mengetik nama file lain, dengan hanya 1 karakter dalam nama, yang secara tidak sengaja dipanggil bukan file lain - saya sudah menjelaskannya. Apapun kode yang berada di.c
berkas, apakah ituConsole.Log("HELP!")
,Console.WriteLine("HELP!")
, dll, sangat tidak relevan, terutama karena itu juga akan menyertakan kode untuk antarmuka dengan satelit untuk mendapatkan koordinat memperbaiki - sesuatu yang saya yakin di masa depan akan terbuka sumber.HELP!
, seperti yang saya sebutkan sebelum Kirby, dan hanya kurang, seperti 9, jika kapitalisasi dan penggunaan Shift tidak penting dan kami tidak harus memiliki karakter sebelum atau sesudahHELP
, seperti dengan tanda seru, atau dalam kasus Kirby, harus mengetikkan kunci karakter, seperti ap
atau*
untuk memulai program.help.exe
danhelp.out
tidak akan bekerja dengan lubang hitam merobek kunci. Itue
akan hilang pada saatexe
muncul, dant
hilang ketika mencoba mengetikout
. Anda bisa mengetikt
diout
, pertama, kemudian tekan Home, dan ketikHELP
bagian, tetapi jika Anda bisa menjaga ekstensi untuk 1 karakter, mengapa tidak Anda?