Secara manual menjumlahkan wajah kubus kubus itu membosankan dan memakan waktu, agak seperti menulis kode dalam kubus itu sendiri.
Dalam cubifier paling efisien , saya meminta Anda untuk menerjemahkan ASCII ke sumber Cubically. Salah satu jawaban di sana menggunakan urutan inisialisasi kubus dan kemudian memodifikasi kubus yang dihasilkan berdasarkan jumlah kubus pra-diinisialisasi. Metode ini telah digunakan di banyak program yang berhubungan dengan Cubic. Saat menguji urutan inisialisasi baru, kita harus menambahkan semua nilai pada semua wajah, yang biasanya memakan waktu dua atau tiga menit.
Tugas Anda adalah mengotomatiskan proses ini untuk kami!
Anda akan mengambil dua input, integer n
dan string c
. Ini dapat dibaca dari argumen baris perintah, argumen fungsi, input standar, file, atau kombinasi dari semuanya. c
akan menjadi kubus memori kubik dengan ukuran yang n
cukup dicetak oleh penerjemah.
Juru bahasa Cubs membuang kubusnya ke STDERR setelah penghentian program, diformat dengan baik untuk tampilan sederhana. Jalankan program kosong dalam juru bahasa Cubically dan buka bagian debug untuk melihat pembuangan kubus dari sebuah kubus diinisialisasi. Tambahkan argumen 4
untuk melihat 4x4x4, atau 5
untuk melihat 5x5x5, dll.
Jika n
3, c
akan mengikuti format ini (bilangan bulat akan menjadi variabel):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Spasi, baris baru, dan semua. Jika n
4, c
akan terlihat seperti ini (juga dengan variabel integer):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Dll.
Program Anda akan menghasilkan enam bilangan bulat. Bilangan bulat pertama adalah jumlah dari semua angka di permukaan atas.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Bilangan bulat kedua adalah jumlah dari wajah kiri, ketiga di depan, keempat di kanan, kelima di belakang dan keenam di bawah.
Jadi jika n
3 dan c
ini:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Program Anda akan menampilkan 20 1 14 43 24 33
.
Aturan tambahan:
- Bilangan bulat output harus dibatasi oleh karakter non-integer. Anda juga dapat memilih untuk mengembalikan array.
- Anda dapat mengasumsikan bahwa inputnya benar -
n
adalah bilangan bulat danc
merupakan kubus dari hasil debugging Cubically . Jadi, jikan
itu3.0
danc
itufoo bar
, program anda bisa istirahat dan masih berlaku. - Program Anda hanya perlu bekerja untuk
n > 1
dann < 1260
. Ini mungkin (mencoba untuk) menangani ukuran kubus yang lebih besar atau lebih kecil, tetapi tidak perlu.
Ini kode-golf , jadi kode terpendek menang! Jika Anda butuh bantuan, silakan bertanya di ruang obrolan Cubically .
n
spasi setelah setiap baris, tidak. Mereka tidak termasuk dalam dump.