Diberikan teks ini
Anda juga dapat memilih dari semua yang Anda butuhkan, dan juga semua yang Anda sukai, juga melakukan hal-hal lain di luar dan di luar untuk melakukan yang lebih baik. Jika Anda menggunakan minimal video, ini adalah cara terbaik untuk bekerja dengan lebih baik dan lebih baik. Setelah itu, pilih warna di layar sentuh atau klik untuk melihat lebih banyak di bawah ini. Pengecualian untuk tempat kejadian bukan tempat tinggal Anda, kecuali di kota ini, Anda pasti akan melihat lebih banyak lagi.
menulis program terpendek yang menghasilkan teks yang sama dibenarkan pada 80 karakter. Teks di atas harus persis sama dengan:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
Aturan:
- kata-kata tidak boleh dipotong
- ruang ekstra harus ditambahkan
- setelah satu titik.
- setelah koma
- setelah kata terpendek (dari kiri ke kanan)
- hasilnya tidak boleh lebih dari 2 spasi berturut-turut
- baris terakhir tidak dibenarkan.
- garis tidak boleh dimulai dengan koma atau titik.
- berikan output dari program Anda
pemenang: Program terpendek.
Catatan: String input diberikan pada STDIN sebagai satu baris (tidak ada umpan baris atau carriage return)
memperbarui:
String input dapat berupa teks apa saja dengan panjang kata yang masuk akal (mis. Tidak lebih dari 20 ~ 25 karakter) seperti:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed bukan risus. Anda dapat menggunakan tortor, dignissim duduk, dan memilih nec, dan akhirnya, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Portir Proporsi, atau non-molestie nonummy, en el estife mi, non fermentum dan duduk diam. Duis semper. Duis arcu massa, scelerisque vitae, akibatnya dalam, pretium a, enim. Congent Pellentesque. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Bersenang-senang dengan egestas di pede. Bersyukur blandit odio eu enim. Ini adalah tempat yang bagus untuk bermain blandit sodales. Vestibulum ante ipsum primis dalam faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris dan pede pellentesque fermentum. Maecenas mengadopsi ante non diam sodales hendrerit. Utas mauris, egestas sed, gravida nec, ornare ut, mi. Aenean or orci atau massa suscipit pulvinar. Nulla sollicitudin. Varius yang berbeda, ligula non tempus aliquam, nunc turpis ullamcorper nibh, pada tempus sapien eros vitae ligula. Rhonus nunc et augue yang bagus. Felis id integer. Curabitur juga tersedia. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elite. Morbi atau erat-erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, tambahan non elementum posuere, metus purus iaculis lectus, dan tristique ligula justo vitae magna. Aliquam convallis sollicitudin purus. Aliquam terpuji, di fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Semu semusif dengan sapien. Vivamus leo. Aliquam euismod libero eu enim. Tidak ada masalah dengan leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curacitur iaculis, lorem atau rhoncus faucibus, ditambahkan oleh felis magna fermentum, dan akhirnya lacus lorem varius purus. Curabitur eu amet.
sumber
Jawaban:
Perl, 94 karakter
Jalankan dengan
perl -nM5.01
. (n
Termasuk dalam jumlah karakter.)Kode di atas adalah terpendek saya bisa membuat yang dapat menangani setiap curveball saya melemparkan di itu (seperti kata salah satu huruf pada awal garis, jalur input tepatnya 80 karakter panjang, dll) tepat sesuai dengan spec:
(Dengan permintaan maaf kepada Gareth karena menggunakan komentarnya sebagai input tes tambahan.)
Versi 75-char berikut berfungsi cukup baik untuk menghasilkan output sampel dari input sampel, tetapi dapat gagal untuk input lainnya. Selain itu, ia meninggalkan karakter spasi tambahan di akhir setiap baris output.
Kedua versi akan berulang selamanya jika mereka menemukan input yang tidak dapat dibenarkan dengan benar. (Dalam versi yang lebih panjang, mengganti
until
denganuntil$i>80||
akan memperbaikinya dengan biaya tujuh karakter tambahan.)sumber
Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in m/^(.*?\.|.*?,|(.*? )??\S{ <-- HERE 32767}) \b/
teks kedua.$i>80
cek, ini memperluas baris ke-11pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales
, yang hanya 78 karakter, dan kemudian menyerah karena setiap kata (kecuali yang terakhir) diikuti oleh dua spasi.Ruby, 146 karakter
Ini mencetak dengan tepat output yang diinginkan (lihat di bawah) jika teks yang diberikan dimasukkan ke dalam STDIN.
Sunting: Hanya setelah mengirimkan solusi pertama saya, saya melihat di komentar bahwa setiap string input dapat diproses. Jawaban sebelumnya hanya 95 karakter tetapi tidak memenuhi persyaratan ini:
sumber