Tantangan ini didasarkan pada teka-teki berikut: Anda diberi n
oleh n
grid dengan n
sel ditandai. Tugas Anda adalah mempartisi kisi-kisi menjadi n
bagian - bagian di mana setiap bagian terdiri dari n
sel-sel persis , masing-masing berisi persis satu sel yang ditandai.
Contoh
Berikut adalah teka-teki di sebelah kiri dan solusi (unik) di sebelah kanan:
Tantangan
Anda akan diberikan satu set n
koordinat tanpa indeks dalam format apa pun yang masuk akal.
[(0,0), (0,3), (1,0), (1,1), (2,2)]
Dan tugas Anda adalah menulis sebuah program yang mengembalikan setiap partisi yang valid (sekali lagi, dalam format apa pun yang masuk akal).
[
[(0,0), (0,1), (0,2), (1,2), (1,3)],
[(0,3), (0,4), (1,4), (2,4), (3,4)],
[(1,0), (2,0), (3,0), (4,0), (4,1)],
[(1,1), (2,1), (3,1), (3,2), (4,2)],
[(2,2), (2,3), (3,3), (4,3), (4,4)]
]
Jika puzzle tidak memiliki solusi, program harus menunjukkan bahwa dengan melemparkan kesalahan atau mengembalikan solusi kosong.
Contoh Input / Output
[(0,0)] => [[(0,0)]]
[(0,0), (1,1)] => [
[(0,0), (1,0)],
[(0,1), (1,1)]
]
[(0,0), (0,1), (1,0)] => [] (no solution)
[(0,0), (0,1), (0,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (1,1), (2,1)],
[(0,2), (1,2), (2,2)],
]
[(0,0), (0,2), (1,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (0,2), (1,1)],
[(1,2), (2,1), (2,2)],
]
Mencetak gol
Ini kode-golf , jadi kode terpendek menang.
code-golf
combinatorics
grid
set-partitions
Peter Kagey
sumber
sumber
Jawaban:
JavaScript (ES7), 166 byte
Cobalah online!
Bagaimana?
++
sumber