Karena rickrolling adalah meme terhebat di Bumi, Anda [tahu aturannya dan saya juga] harus menulis kode terpendek yang secara tekstual dapat rickroll pembaca yang tidak curiga. Biarkan [Anda turun] ada input teks yang berisi huruf, tanda baca, dan spasi. Kapan saja frase [bohong dan sakitkan kamu] dari dua bait pertama muncul dalam teks ...
We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
I just wanna tell you how I'm feeling
Gotta make you understand
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
... masukkan sisa garis dalam tanda kurung sesudahnya.
Memasukkan
Input adalah string baris tunggal yang hanya berisi ASCII yang dapat dicetak dengan baris tambahan opsional.
Keluaran
Output adalah string single-line. Setiap kali sekelompok kata (didefinisikan sebagai string input terpecah pada spasi) cocok dengan sekelompok kata dalam baris lirik di atas, masukkan kata-kata yang tersisa dari string ke dalam string, dikelompokkan dalam tanda kurung siku.
Deskripsi Tambahan:
Ini adalah kode-golf , byte paling sedikit menang. Anda dapat menulis suatu program atau fungsi.
- pencocokan harus tidak peka huruf besar-kecil:
we're
dikonversi kewe're [no strangers to love]
walaupun hurufWe're
kapital ditulis dalam lirik. - pencocokan harus serakah.
Does he know the answer?
harus dikonversi menjadiDoes he know the [rules and so do I] answer?
bukanDoes he know [the rules and so do I] the [rules and so do I] answer?
- Jika sebuah kata muncul lebih dari satu kali di lirik yang disediakan, pilih salah satu kejadian untuk melengkapi baris.
- Jika sebuah kata adalah kata terakhir dalam baris lirik, jangan masukkan apa pun setelahnya.
- Tanda baca dimasukkan sebagai bagian dari "kata."
I'm
adalah satu kata dan tidak dapat dicocokkanI
. Demikian pula,you.
tidak cocok dengan lirik apa pun karena periode.
Beberapa kata seperti I
muncul berulang kali sepanjang lirik dan juga di akhir baris. Karena aturannya adalah bahwa setiap kemunculan dalam lirik di atas dapat digunakan, dan salah satu kemunculannya adalah di akhir baris, tidak I
diperlukan kecocokan . Pilihan lain I
adalah [just wanna tell you how I'm feeling]
.
Jika dua pertandingan tumpang tindih, Anda dapat memilih salah satu. Ini berarti bahwa how I'm thinking
dapat menjadi how I'm [feeling] thinking [of]
ATAU how [I'm feeling] I'm thinking [of]
karena I'm
dapat menjadi bagian dari salah satu how I'm
atau I'm thinking
. Namun, jika input teks sederhana I'm thinking
, maka outputnya seharusnya I'm thinking [of]
.
Kasus uji tambahan:
I don't know what I'm doing with my life.
is converted to
I [just wanna tell you how I'm feeling] don't know [the rules and so do I] what I'm [thinking of] doing with my life.
Many additional solutions are possible, since words like `I` appear multiple times.
Will someone please save me from these memes?
is converted to
Will someone please save me from [any other guy] these memes?
Two strangers walked into a bar. One said "hello." The other said "goodbye."
is converted to
Two strangers [to love] walked into a [lie and hurt you] bar. One said "hello." The [rules and so do I] other [guy] said "goodbye."
Tantangan yang terinspirasi oleh pria ini .
from
harus menjadifrom [any other guy]
).Jawaban:
gawk, 316 + 377 = 693
Parameter baris perintah pertama adalah nama file lirik (375 byte + 2 untuk doa = 377). Rickrolls semua file lainnya. Mencetak ke
stdout
.Tidak disatukan
Hasil tes
Memasukkan:
Keluaran:
sumber
what
danI'm
, yang cocok "tidak serakah"). 2. Ini gagal pada test case ketiga (ini mengubah dua spasi menjadi satu). 3. Jika Anda menyimpan lirik dalam file terpisah, Anda perlu menghitung file itu (dan juga +2 untuk memasukkannya dalamawk
perintah) dalam jumlah byte Anda.awk
kode sumber.gonna run
(output yang diharapkangonna run [around and desert you]
, output aktualgonna [tell a lie and hurt you] run [around and desert you]
). Itu juga masih chomps beberapa ruang berturut-turut. Anda perlu menghitung file lirik dalam jumlah byte Anda, karena ini adalah permohonan non-standarawk
program.gawk
sekarang membutuhkan pemisahan bidang yang mempertahankan ruang. Lewati semua kotak uji sekarang.