Tugas
Encode string yang seluruhnya terdiri dari huruf besar ( A-Z
) hanya menggunakan nol dan yang, menggunakan skema favorit Anda sendiri. Tapi aturannya tidak sesederhana itu!
Aturan
- Program / fungsi Anda harus menangani dengan benar setiap string input dengan panjang 8 .
- Hasilnya harus memiliki panjang yang sama untuk semua input.
- Hasilnya harus berbeda untuk input yang berbeda.
- Hasilnya harus sesingkat mungkin.
- Hasilnya harus nol-satu seimbang (memiliki jumlah yang mirip dengan nol). Mereka tidak harus sama (yaitu seimbang sempurna), tetapi skor Anda akan dikenakan sanksi untuk itu.
Anda tidak harus menyediakan program / fungsi yang menerjemahkan sandi Anda.
Masukan dan keluaran
- Anda dapat memutuskan untuk menerima serangkaian 26 karakter ASCII yang dapat dicetak dan bukan
A-Z
. - Anda dapat memutuskan untuk mengeluarkan pasangan karakter ASCII yang dapat dicetak dan bukan
0
dan1
. - Anda tidak diizinkan untuk mengeluarkan bilangan bulat alih-alih string bit, karena mungkin memiliki nol di depan dan tidak jelas apakah Anda benar-benar memenuhi aturan 2.
- Jika Anda memutuskan untuk menyimpang dari default (
A-Z
input dan01
output), Anda harus menentukan set karakter input / output dalam kiriman Anda.
Mencetak gol
- Skor dasar: Ukuran kode, atau 1 jika program Anda kosong.
- Hukuman
- Hukuman panjang: dikalikan
1.5 ** (encoded length - 42)
- Tidak ada bonus untuk menjadi lebih pendek; 42 adalah panjang minimal untuk penyandian string 8-panjang yang seimbang dengan ukuran alfabet 26.
- Hukuman karena tidak seimbang: gandakan
2 ** max(abs(ones - zeros) for every valid input of length 8)
, di manaones
danzeros
adalah jumlah 1 dan 0 dalam setiap output, masing-masing. - Kiriman Anda harus menunjukkan contoh kasus terburuk (input / output) atau penjelasan teoritis tentang nilai penalti.
- Hukuman panjang: dikalikan
- Skor terendah menang.
Contoh Pengiriman
Hipotesis esolang, 0 Bytes, Skor 74733.8906
Berikut ini adalah esolang hipotetis, di mana program kosong mencetak semua kode ASCII karakter input dalam biner.
Misalnya, jika Anda memberikan AAAAAAAA
input, program akan mencetak 1000001
8 kali berturut-turut, yaitu 10000011000001100000110000011000001100000110000011000001
.
Input alfabet dipilih menjadi CEFGIJKLMNQRSTUVXYZabcdefh
. Dengan cara ini, semua karakter dikonversikan ke tujuh digit dalam biner, dan jumlah nol-satu berbeda hanya dengan satu per karakter (mereka semua memiliki tiga 1 dan empat 0 atau sebaliknya ketika dikonversi ke biner).
Panjang output selalu 56, dan ketidakseimbangan kasus terburuk terjadi pada input seperti CCCCCCCC
, di mana nol muncul 8 kali lebih banyak daripada yang.
Oleh karena itu, skor pengajuan ini adalah 1.5 ** (56 - 42) * 2 ** 8 == 74733.8906
.