pengantar
Teka-teki umum melibatkan papan segitiga dengan 15 lubang untuk tee / pasak seperti yang ditunjukkan pada gambar di bawah ini:
Dimulai dengan semua pasak di papan kecuali untuk lubang di bagian atas, titik teka-teki adalah untuk melompati pasak satu sama lain seperti checker sedemikian rupa untuk meninggalkan tepat satu pasak tersisa. Satu-satunya langkah yang valid adalah dengan melompati satu pasak ke pasak yang berdekatan ke segala arah ke lubang kosong. Pasak yang dilompati kemudian dihapus dari papan. Putar selesai saat tidak ada gerakan yang valid.
Spec
Tugas Anda adalah menulis sebuah program yang dapat menemukan solusi lengkap untuk teka-teki pasak, yaitu, yang hanya menyisakan satu pasak tersisa. Ada beberapa kemungkinan solusi, jadi program Anda hanya perlu mencetak satu.
- Program Anda tidak akan menerima input. Anda tidak diperbolehkan membaca data dari sumber luar apa pun.
- Cetak daftar 13 gerakan yang memberikan hasil 1 pasak tersisa menggunakan format ini:
Peg 1 jumps Peg 3 to Hole 6.
- Lubang / pasak diberi nomor dari atas ke bawah, kiri ke kanan, sehingga pasak / lubang atas adalah 1, penomoran hingga kanan bawah adalah 15.
- Program Anda harus menemukan solusinya saat runtime . Mencetak solusi secara langsung dengan cara apa pun selain menyelesaikannya dalam program adalah diskualifikasi otomatis.
- Bonus : menerima 10 poin bonus jika Anda dapat menghasilkan beberapa solusi unik (hanya dapat mencetak dipisahkan oleh garis kosong).
- Bonus : menerima 5 poin bonus jika nomor
15
tidak muncul di kode sumber Anda.
Mencetak gol
Ini adalah kode-golf, jadi solusi terpendek (dengan jumlah byte) yang mencetak jawaban yang benar akan menjadi pemenang. Poin bonus dikurangi dari jumlah total byte Anda. Harap berikan contoh hasil dari menjalankan program Anda serta tautan ke ideone
atau beberapa situs serupa jika mungkin menunjukkan eksekusi program Anda.
15=0xff=(1<4)-1=~(-1<<4)=...
15
dirinya sendiri;)