Untuk pos perampok, mesin Enigma Cheapo (Perampok)
Pengajuan polisi akan terdiri dari program / fungsi yang menerima satu byte data dan mengembalikan satu byte data. Setiap input yang mungkin harus menghasilkan output yang unik. (Dengan kata lain, fungsi Anda harus bijective)
Perampok akan berusaha membuat fungsi terbalik Anda menggunakan kode sesingkat mungkin. Jadi tujuan Anda adalah membuat fungsi Anda sulit untuk dibalik.
Anda tidak dapat menggunakan bawaan yang memiliki tujuan hashing atau enkripsi.
Hitungan byte Anda tidak boleh melebihi 64 byte. Solusi 0-byte tidak memenuhi syarat untuk menang.
Input / Output format
8 bit (0 atau 1), atau integer basis-10 dalam rentang 1-256, 0-255 atau -128 hingga 127. Dapat menggunakan I / O standar atau file I / O. Fungsi juga dapat mengembalikan nilai sebagai output. Input dan output harus berada dalam kisaran yang sama (biner, 1-256, 0-255 atau -128 hingga 127). Perampok juga akan diminta untuk menggunakan rentang ini untuk input dan output.
Mencetak gol
Rasio jumlah byte Anda dengan upaya perampok terbaik melawan Anda. Skor terendah menang.
Anda berhak untuk menang (sebagai polisi) hanya jika perampok telah berusaha untuk mengalahkan Anda. (Perampok ini mungkin Anda)
Contoh
C ++, menggunakan rentang 0-255, 31 byte
int x;
cin>>x;
cout<<(x+1)%256;
Kemungkinan pengiriman robber dalam C ++, 32 byte
int f(int x)
{return x?x-1:255;}
Menggunakan bahasa yang sama atau algoritma serupa bukanlah suatu keharusan
Ini memberikan skor 31/32 = 0,97 untuk polisi dan perampok.