Tugas Anda adalah, diberi kisi-kisi digit ( 0-9), menampilkan salah satu cara digit tersebut dapat dikelompokkan sedemikian rupa sehingga:
- Setiap digit adalah bagian dari satu grup
- Semua grup memiliki jumlah digit yang sama
- Semua grup dibatasi oleh satu bentuk seperti poligon (ini berarti bahwa setiap digit dalam grup berada di sebelah [kiri, kanan, atas, bawah] setidaknya satu digit lain dari grup yang sama, kecuali setiap grup memiliki 1 elemen).
- Semua grup memiliki jumlah yang sama
Kotak input akan selalu berupa kotak: Anda dapat memilih metode input apa pun yang Anda inginkan (termasuk memasok argumen ke fungsi atau metode). Selain itu, input akan menyediakan jumlah grup tempat program Anda harus mengelompokkan digit.
Input contoh:
Misalkan format input Anda adalah stringOfDigits numberOfGroups.
Contoh input adalah:
156790809 3
yang akan diterjemahkan ke (kotak sqrt(9) * sqrt(9))
1 5 6
7 9 0
8 0 9
yang harus Anda bagi menjadi 3 kelompok, yang masing-masing harus memiliki 9 / 3 = 3elemen dengan jumlah yang sama.
Keluaran: Keluaran harus berupa string angka, dengan spasi opsional dan baris baru untuk pemformatan, dengan setiap digit diikuti dengan huruf yang a-zmenunjukkan grupnya. Harus ada numberOfTotalDigits / numberOfGroupselemen tepat di setiap kelompok. Anda tidak perlu membagi sesuatu menjadi lebih dari 26 grup.
Contoh output:
1a 5a 6b
7c 9a 0b
8c 0c 9b
Perhatikan bahwa mengganti semua as dengan bs dan bs dengan as sama-sama valid. Selama masing-masing kelompok dilambangkan dengan huruf yang berbeda, hasilnya valid.
Selain itu, saya berharap sebagian besar program menghasilkan sesuatu seperti ini, karena baris baru / spasi adalah opsional:
1a5a6b7c9a0b8c0c9b
Dalam hal ini, menambahkan semua angka dari kelompok a, batau cmembuat 15. Selain itu, semua kelompok terikat oleh beberapa poligon.
Output tidak valid:
1a 5a 6b
7c 9a 0c
8c 0b 9b
karena kelompok-kelompok itu tidak membentuk poligon (khususnya, 6bitu terisolasi dan 0cjuga kesepian).
1a 5a 6b
7c 9a 0b
8c 0b 9b
karena grup bmemiliki 4 elemen sedangkan chanya memiliki 2.
Dll
Jika tidak ada solusi yang valid, program Anda dapat melakukan apa saja (yaitu berhenti, macet, jalankan selamanya) tetapi jika program Anda mencetak Noneketika tidak ada solusi yang valid, -15untuk skor Anda.
Jika ada lebih dari satu solusi, Anda hanya perlu mencetak satu, tetapi -20jika program Anda mencetak semuanya dipisahkan oleh beberapa pembatas.
Ini golf kode, jadi kode terpendek (dengan bonus) menang!
156790889 3Sepertinya itu seharusnya156790809 3
6bterisolasi, bukan0b.