Hanya menggunakan ASCII yang dapat dicetak (kode hex 20 hingga 7E), tulis program inti N × N persegi tanpa komentar yang dikelilingi oleh 4 lapisan lagi , membuat program persegi (N + 8) × (N + 8) persegi (N> 0) . Untuk N = 3 tata letak (harus diganti dengan kode aktual) terlihat seperti ini:
44444444444
43333333334
43222222234
43211111234
4321CCC1234
4321CCC1234
4321CCC1234
43211111234
43222222234
43333333334
44444444444
- C mewakili program inti 3 × 3.
- 1's mewakili lapisan pertama, 2 mewakili lapisan kedua, dll.
Program ini selalu mengambil string integer yang dipisahkan oleh ruang seperti 0 -1 31 -1 2 2 2
via stdin atau sejenisnya (seharusnya hanya berupa angka polos, tanpa tanda kutip atau tanda kurung atau apa pun). Keluaran tergantung pada bagian tata letak mana yang dijalankan.
Ada lima cara untuk menjalankan program (baris baru termasuk dalam proses). Masing-masing melakukan sesuatu yang berbeda pada daftar:
Jalankan saja intinya:
CCC CCC CCC
Ini menghitung maksimum dari nilai absolut elemen daftar input, dan mencetak
CORE
pada baris baru yang berkali-kali. Jika maks adalah 0, tidak ada output (baris baru baik-baik saja).Output untuk
0 -1 31 -1 2 2 2
menjadiCORE CORE ...
31 kali.
Jalankan inti dengan layer 1:
11111 1CCC1 1CCC1 1CCC1 11111
Ini menghasilkan rata-rata (rata-rata aritmatika ) dari nilai daftar ke presisi floating point standar.
- Output untuk
0 -1 31 -1 2 2 2
akan menjadi 35/7 =5
(5.0
baik-baik saja).
- Output untuk
Jalankan inti dengan layer 1 dan 2:
2222222 2111112 21CCC12 21CCC12 21CCC12 2111112 2222222
Ini menghasilkan daftar yang dipisahkan ruang dari daftar input yang dibalik.
- Output untuk
0 -1 31 -1 2 2 2
menjadi2 2 2 -1 31 -1 0
.
- Output untuk
Jalankan inti dengan layer 1, 2, dan 3 (polanya harus jelas).
Ini menghasilkan daftar yang dipisahkan oleh ruang dari daftar input yang diurutkan.- Output untuk
0 -1 31 -1 2 2 2
menjadi-1 -1 0 2 2 2 31
.
- Output untuk
Jalankan core dengan layer 1, 2, 3, dan 4.
Ini menampilkan daftar daftar input yang terpisah dengan duplikat yang dihapus, urutannya tidak menjadi masalah.- Output untuk
0 -1 31 -1 2 2 2
bisa-1 0 2 31
.
- Output untuk
Semua output adalah stdout atau alternatif serupa.
Hanya 5 kombinasi tata letak ini yang memiliki perilaku tertentu.
Catatan
- Komentar tidak diperbolehkan di inti atau lapisan atau kombinasi keduanya. Kode yang merupakan no-op atau tidak konstruktif tidak dihitung sebagai komentar.
- Ingat bahwa inti dapat memiliki dimensi (positif) N × N, tetapi lapisannya hanya satu karakter.
- Anda dapat berasumsi bahwa input tidak memiliki spasi awal atau spasi dan tepat satu spasi di antara angka. Itu akan selalu mengandung setidaknya satu nomor. (Daftar output harus diformat seperti ini juga.)
- Anda dapat mengasumsikan daftar dan perhitungan yang diperlukan untuk output tidak akan memiliki nilai yang melimpah (atau melemahkan) bilangan bulat Anda (selama maks mereka adalah sesuatu yang masuk akal seperti 2 16 ).
Mencetak gol
Menulis program ini secara normal akan mudah. Menulisnya dengan inti kecil itu sulit.
Program dengan ukuran inti terkecil (N terkecil) menang. Dalam hal ikatan, pemenangnya adalah program lengkap (kotak (N + 8) × (N + 8)) dengan karakter berbeda paling sedikit (tidak termasuk baris baru).
Silakan laporkan nilai N Anda di bagian atas jawaban Anda.