Sebuah mengocok riffle adalah cara mengocok kartu di mana dek dibagi menjadi 2 bagian kira-kira sama dan bagian yang riffled satu sama lain dalam kelompok-kelompok kecil. Ini adalah cara mengacak-acak sebuah string:
- Pisahkan string menjadi bagian yang sama.
- Balikkan string, dan mulai dari awal setiap string.
- Masukkan run dengan panjang acak seragam antara 1 dan jumlah karakter yang tersisa di string saat ini ke string terakhir
- Kemudian hapus karakter ini dari string.
- Ulangi untuk separuh lainnya, sampai kedua bagiannya kosong.
Sebuah contoh
"Hello World!" Output string = ""
"Hello ", "World!" ""
"Hell", "World!" " o"
"Hell", "World" " o!"
"Hel", "World" " o!l"
"Hel", "Wo" " o!ldlr"
"H", "Wo" " o!ldlrle"
"H", "" " o!ldlrleoW"
"", "" " o!ldlrleoWH"
Produk akhir dari Hello World!
dapat o!ldlrleoWH
dan itulah yang akan Anda hasilkan.
Polisi
Tugas Anda adalah membuat program (atau fungsi) yang akan mengacak-acak string. Jika string yang dimasukkan memiliki panjang ganjil, cukup bagi menjadi dua dawai panjang tidak rata dengan panjang relatif dari +1
dan +0
( abc => [ab, c] or [a, bc]
). Anda dapat mengambil input dalam mode normal dan menghasilkan output dalam mode normal.
Pengajuan Polisi Anda akan terdiri dari 4 hal
- Bahasa yang Anda gunakan
- Panjang program Anda dalam byte
- Program Anda, riffle shuffled.
- Ada lagi yang ingin Anda tambahkan
Anda bertujuan untuk menjaga kode Anda agar tidak diretas oleh Perampok selama 7 hari. Setelah periode itu, program Anda aman dan Anda harus mengedit di program asli Anda. Kiriman Anda mungkin masih retak sampai Anda mengungkapkan solusi Anda. Solusi terpendek dan aman akan menjadi pemenang!