pengantar
Tulis sebuah solver untuk teka-teki Hitori menggunakan byte terkecil.
Tantangan
Tugas Anda adalah menulis sebuah pemecah untuk Hitori (ひ と り, kata untuk "sendirian" dalam bahasa Jepang; arti dari nama permainan adalah "Biarkan aku sendiri") teka-teki logis. Aturannya adalah sebagai berikut:
- Anda disajikan dengan grid sel n-by-n, setiap sel berisi bilangan bulat antara 1 dan n (inklusif).
- Tujuan Anda adalah untuk memastikan bahwa tidak ada angka yang muncul lebih dari satu kali di setiap baris dan setiap kolom grid, dengan menghapus angka dari grid yang diberikan, tunduk pada batasan yang ditunjukkan dalam dua aturan berikutnya,
- Anda tidak dapat menghapus dua angka dari dua sel yang berdekatan (horizontal atau vertikal).
- Sel-sel bernomor yang tersisa harus semuanya terhubung satu sama lain. Ini berarti bahwa setiap dua sel bernomor yang tersisa dapat dihubungkan dengan kurva yang hanya terdiri dari segmen-segmen yang menghubungkan angka-angka yang tersisa yang berdekatan (horizontal atau vertikal). (Terima kasih kepada @ user202729 untuk menunjukkan bahwa ini tidak ada)
Saya harap aturannya sudah jelas sekarang. Jika ada sesuatu yang tidak jelas tentang aturan tersebut, periksa halaman Wikipedia .
Uji Kasus
Sel-sel dari mana angka-angka dihapus diwakili dengan 0s.
Input -> Output
4
2 2 2 4 0 2 0 4
1 4 2 3 -> 1 4 2 3
2 3 2 1 2 3 0 1
3 4 1 2 3 0 1 2
4
4 2 4 3 0 2 4 3
4 1 1 2 -> 4 1 0 2
3 1 2 1 3 0 2 1
4 3 1 3 0 3 1 0
5
1 5 3 1 2 1 5 3 0 2
5 4 1 3 4 5 0 1 3 4
3 4 3 1 5 -> 3 4 0 1 5
4 4 2 3 3 4 0 2 0 3
2 1 5 4 4 2 1 5 4 0
8
4 8 1 6 3 2 5 7 0 8 0 6 3 2 0 7
3 6 7 2 1 6 5 4 3 6 7 2 1 0 5 4
2 3 4 8 2 8 6 1 0 3 4 0 2 8 6 1
4 1 6 5 7 7 3 5 -> 4 1 0 5 7 0 3 0
7 2 3 1 8 5 1 2 7 0 3 0 8 5 1 2
3 5 6 7 3 1 8 4 0 5 6 7 0 1 8 0
6 4 2 3 5 4 7 8 6 0 2 3 5 4 7 8
8 7 1 4 2 3 5 6 8 7 1 4 0 3 0 6
9
8 6 5 6 8 1 2 2 9 8 0 5 6 0 1 2 0 9
5 6 2 4 1 7 9 8 3 5 6 2 4 1 7 9 8 3
5 8 2 5 9 9 8 2 6 0 8 0 5 0 9 0 2 0
9 5 6 6 4 3 8 4 1 9 5 6 0 4 3 8 0 1
1 1 6 3 9 9 5 6 2 -> 0 1 0 3 9 0 5 6 2
1 1 4 7 3 8 3 8 6 1 0 4 7 0 8 3 0 6
3 7 4 1 2 6 4 5 5 3 7 0 1 2 6 4 5 0
3 3 1 9 8 7 7 4 5 0 3 1 9 8 0 7 4 5
2 9 7 5 3 5 9 1 3 2 9 7 0 3 5 0 1 0
Test case ini diambil dari Concept Is Puzzles , PuzzleBooks , Concept Is Puzzles , Wikipedia , dan Youtube .
Spesifikasi
Tidak perlu khawatir tentang penanganan pengecualian.
Anda dapat mengasumsikan bahwa input selalu berupa puzzle yang valid dengan solusi yang unik dan Anda dapat mengambil keuntungan dari ini dalam menulis kode Anda.
Ini adalah kode-golf , jumlah byte terendah yang menang.
4 <= n <= 9 (16 awalnya, diubah menjadi 9 mengikuti saran Stewie Griffin, juga menyimpan beberapa masalah di IO)
Anda dapat mengambil input dan memberikan output melalui formulir standar apa pun , dan Anda bebas memilih format.
Beberapa saran untuk format keluaran adalah (tetapi Anda tidak dibatasi untuk ini)
- Mengeluarkan kisi terakhir
- Mengeluarkan kisi-kisi berisi semua angka yang dihapus
- Keluarkan daftar koordinat salah satu di atas
Seperti biasa, celah default berlaku di sini.
Terkait (terinspirasi oleh tantangan ini): Periksa apakah Semua Elemen dalam Matriks Terhubung
Tantangan terakhir saya: Perpanjangan Game Sevens
4 <= n <= 16
, tapi test case terbesar adalah untukn=9
. Saya sarankan Anda mengirimn=16
test case, atau katakan4 <= n <= 9
. Omong-omong tantangannya :)