Giriş
En az bayt kullanan Hitori bulmacaları için bir çözücü yazın .
Meydan okuma
Senin görevin Hitori için bir çözücü yazmak (for と り, Japonca "yalnız" kelimesi; oyun adının anlamı "beni yalnız bırak" dır) mantıksal bulmacalar. Kurallar aşağıdaki gibidir:
- Sizlere bir n-by hücre ızgarası sunulur, her hücre 1 ile n arasında bir tamsayı içerir (dahil).
- Amacınız, bir sonraki iki kuralda belirtilen kısıtlamaya tabi olarak verilen ızgaradan sayıları kaldırarak, her satırda ve ızgaradaki her sütunda birden fazla sayı görünmemesini sağlamak,
- İki sayıyı iki bitişik (yatay veya dikey) hücreden çıkaramazsınız.
- Kalan numaralı hücrelerin hepsi birbirine bağlanmalıdır. Bu, kalan iki numaralı hücrenin, yalnızca bitişik kalan sayıları (yatay veya dikey) birleştiren bölümlerden oluşan bir eğriye bağlanabileceği anlamına gelir. (Bunun eksik olduğunu gösterdiği için @ user202729'a teşekkür ederiz)
Umarım kurallar şimdiye kadar açıktır. Kurallarla ilgili net olmayan bir şey varsa, Wikipedia sayfasını kontrol edin .
Test Kılıfları
Sayıların çıkartıldığı hücreler 0 ile temsil edilir.
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
Bu test vakaları sırasıyla Concept Is Puzzles , PuzzleBooks , Concept Is Puzzles , Wikipedia ve Youtube'dan alınmıştır .
gözlük
İstisna işleme konusunda endişelenmenize gerek yok.
Sen edebilirsiniz girişi her zaman sahip geçerli bir bulmaca olduğunu varsayalım eşsiz çözüm ve size kod yazarken bu yararlanabilir.
Bu kod-golf , en düşük bayt sayısı kazanır.
4 <= n <= 9 (Stewie Griffin'in önerisini takiben aslen 16, 9 olarak değiştirildi, ayrıca IO’da da biraz sorun çıkardı)
Herhangi bir standart form aracılığıyla girdi alabilir ve çıktı alabilirsiniz ve formatı seçmekte özgürsünüz.
Çıktı formatı için bazı öneriler: (ancak bunlarla sınırlı değilsiniz)
- Son kılavuzun çıktısı
- Kaldırılan tüm sayıları içeren ızgara çıktısı
- Yukarıdakilerden birinin koordinatlarının listesini çıkar.
Her zamanki gibi burada varsayılan boşluklar geçerlidir.
İlgili (bu zorluğa ilham veren): Bir Matristeki Tüm Öğelerin Bağlantılı olup olmadığını kontrol edin
Son meydan okumam: Yedilerin Oyununun Uzatılması
4 <= n <= 16
, ama en büyük test durumun=9
. Size birn=16
test davası göndermenizi ya da söylemenizi öneririm4 <= n <= 9
. Bu arada güzel bir meydan okuma :)