Tantangan ini terinspirasi oleh aplikasi ini .
Ini adalah versi yang jauh lebih mudah dari tantangan ini . Tantangan ini adalah kode-golf , sedangkan yang lain adalah kode tercepat .
Anda akan diberi kotak input persegi, dengan dimensi 6-kali-6 yang dibagi menjadi 6 area, di mana sel-sel di setiap area memiliki pengidentifikasi unik (saya akan menggunakan huruf kecil dari af dalam teks di sini, tetapi Anda dapat memilih apa pun yang Anda suka, misalnya bilangan bulat 1-6 ).
Input mungkin terlihat seperti ini (format input opsional):
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
Atau, lebih mudah untuk divisualisasikan:
Tantangan:
Anda harus menempatkan 6 pohon di taman ini, sesuai dengan aturan berikut:
- Tepatnya akan ada 1 pohon per kolom, dan 1 pohon per baris
- Semua area harus memiliki tepat 1 pohon.
- Tidak ada pohon yang dapat berbatasan dengan pohon lain, secara vertikal, horizontal atau diagonal
Solusi untuk tata letak di atas adalah:
Catatan: Hanya ada satu solusi untuk setiap puzzle
Aturan tambahan:
- Format input dan output adalah opsional
- Keluaran mungkin misalnya berupa daftar indeks, kisi dengan 1/0 yang menunjukkan apakah ada pohon di posisi itu, atau versi input yang dimodifikasi di mana pohon ditunjukkan
- Waktu pelaksanaan harus deterministik
- Program harus selesai dalam 1 menit dengan laptop modern yang masuk akal
- Brownie menunjuk jika kamu tidak bersikap kasar!
Kasus uji:
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
---
aAbbbb
aabbbB
aaCcbb
acccDb
Ecccdb
eeeFff
----------
aabccc
aacccc
aaddce
aeeeee
aeeefe
eeeeee
---
aaBccc
aacccC
aadDce
Aeeeee
aeeeFe
eEeeee
----------
aaaabb
aacbbb
aadddb
addeef
ddddee
dddeee
---
aaaaBb
aaCbbb
Aadddb
addeeF
dDddee
dddEee
----------
abbbcd
abebcd
addddd
dddddd
effdff
eeffff
---
abBbcd
abebCd
Addddd
dddDdd
effdfF
eEffff
Kasing uji yang sama pada format yang sedikit lebih mudah diurai:
Test case 1:
[1,1,2,2,2,2;1,1,2,2,2,2;1,1,3,3,2,2;1,3,3,3,4,2;5,3,3,3,4,2;5,5,5,6,6,6]
Test case 2:
[1,1,2,3,3,3;1,1,3,3,3,3;1,1,4,4,3,5;1,5,5,5,5,5;1,5,5,5,6,5;5,5,5,5,5,5]
Test case 3:
[1,1,1,1,2,2;1,1,3,2,2,2;1,1,4,4,4,2;1,4,4,5,5,6;4,4,4,4,5,5;4,4,4,5,5,5]
Test case 4:
[1,2,2,2,3,4;1,2,5,2,3,4;1,4,4,4,4,4;4,4,4,4,4,4;5,6,6,4,6,6;5,5,6,6,6,6]
Jawaban:
C,
223182 byteMengambil input sebagai argumen dalam format yang diberikan dalam pertanyaan. Menulis output ke stdout sebagai kisi 0s dengan 1s di mana pohon pergi.
Output sampel:
Kerusakan
Ini adaptasi dari jawaban saya ke versi kode tercepat dari pertanyaan ini . Tidak memiliki hubungan arus pendek, tetapi cukup cepat untuk jaringan 6x6.
sumber
Clingo , 66 byte
Jalankan dengan di
clingo plant.lp - -c n=<n>
mana<n>
ukuran kisi. Format masukan adalah daftarc(X,Y,Z).
pernyataan untuk setiap sel (X
,Y
) berwarnaZ
, dengan 1 ≤X
,Y
,Z
≤n
, dipisahkan oleh spasi opsional. Output termasukt(X,Y)
untuk setiap pohon di (X
,Y
).Demo
Untuk membuat format input / output lebih mudah ditangani, berikut adalah program Python untuk mengkonversi dari dan ke format yang diberikan dalam tantangan.
Memasukkan
Keluaran
sumber