pengantar
Anda seorang kriminal yang ditugaskan mencuri beberapa rencana rahasia dari startup teknologi baru Dejavu. Anda menyelinap masuk melalui dinding belakang, tetapi menemukan pintu yang membutuhkan pin untuk membukanya. Anda mengenali merek kunci dan tahu bahwa diperlukan pin 5 digit menggunakan semua angka dari 0 hingga 4. Setelah setiap digit dimasukkan, kunci memeriksa 5 digit terakhir yang dimasukkan dan terbuka jika kodenya benar. Anda harus melewati kunci ini, dan cepat.
Singkatnya Superpermutations
Permutasi adalah semua kombinasi yang mungkin dari satu set digit tertentu. misalnya, semua permutasi dari angka 0, 1, 2 adalah:
012, 021, 102, 120, 201, dan 210.
Jika kami menggabungkan semua permutasi ini bersama-sama, kami mendapatkan superpermutasi:
012021102120201210
superpermutasi ini berisi semua permutasi 0, 1, 2, tetapi dimungkinkan untuk membuatnya lebih pendek dari ini. Saya akan melewatkan sedikit di sini, tetapi superpermutasi terpendek dari angka-angka ini adalah:
012010210
Untuk maksud dan tujuan kami, ini pada dasarnya adalah string terpendek dari digit yang berisi semua kemungkinan permutasi dari digit tersebut, yaitu superpermutasi.
Tugas
Tugas Anda sedikit lebih sulit daripada contoh superpermutasi seperti yang ditunjukkan di atas, karena Anda memiliki dua digit lebih untuk dikhawatirkan. - Jika Anda belum membaca tentang superpermutasi, atau contoh saya di atas agak tidak jelas, saya sangat menyarankan Anda membaca artikel hebat ini oleh Patrick Honner pada subjek (tantangan ini sangat terinspirasi oleh artikelnya, jadi kudos kepadanya): https://www.quantamagazine.org/unscrambling-the-hidden-secrets-of-superpermutations-20190116/ . Tujuan Anda adalah menulis program sesingkat mungkin yang menghasilkan superpermutasi angka 0 hingga 4.
Mencetak gol
Program Anda tidak mengambil input apa pun, dan menghasilkan superpermutasi digit dari 0 hingga 4. Superpermutasi yang dihasilkan ini harus dicetak ke konsol atau ditampilkan secara jelas kepada pengguna sejauh yang disediakan oleh bahasa pilihan Anda. Ini tidak harus permutasi terpendek yang mungkin, hanya saja harus superpermutasi yang valid. Karena itu, tujuannya adalah untuk menulis program terpendek dengan superpermutasi terpendek, jadi Anda harus menghitung skor Anda seperti:
ukuran file (byte) * dihasilkan panjang superpermutasi (digit)
misalnya, jika saya memiliki program 40 byte, dan superpermutasi saya adalah 153 digit, skor saya akan:
40 * 153 = 6120
seperti biasa, tujuannya adalah untuk mendapatkan skor ini serendah mungkin.
Templat
Inilah cara Anda memposting jawaban Anda:
Bahasa | Skor
tautan ke kode di lingkungan kerja (jika mungkin)
code snippet
penjelasan kode, dll.
Finalitas
Ini adalah salah satu pertanyaan pertama saya di situs ini. Jadi tolong beri tahu saya jika saya kehilangan sesuatu atau sebagian dari tantangan saya tidak jelas. Terima kasih, dan bersenang-senang bermain golf!