Yalnızca yazdırılabilir ASCII (altıgen kodlar 20 ila 7E) kullanarak, 4 katmanla çevrili yorumlar içermeyen bir kare N × N çekirdek programı yazın , (N + 8) × (N + 8) kare programı (N> 0) oluşturun . N = 3 için düzen (gerçek kodla değiştirilecek) şöyle görünür:
44444444444
43333333334
43222222234
43211111234
4321CCC1234
4321CCC1234
4321CCC1234
43211111234
43222222234
43333333334
44444444444
- C'ler çekirdek 3 x 3 programını temsil eder.
- 1'ler birinci katmanı, 2'ler ikinci katmanı vb. Temsil eder.
Program her zaman 0 -1 31 -1 2 2 2
stdin veya benzerleri gibi bir boşlukla ayrılmış tamsayılar alır (sadece düz sayılar, tırnaklar veya parantezler olmamalıdır). Çıktı, düzenin hangi bölümlerinin çalıştırıldığına bağlıdır.
Programı çalıştırmanın beş yolu vardır (yeni satırlar çalışmaya dahil edilir). Her biri listeden farklı bir şey yapar:
Sadece çekirdeği çalıştır:
CCC CCC CCC
Bu, giriş listesi öğelerinin mutlak değerlerinin maksimumunu hesaplar ve
CORE
birçok kez yeni bir satıra yazdırır . Eğer maksimum 0 ise hiçbir şey çıkmaz (yeni satır iyi).İçin çıkış
0 -1 31 -1 2 2 2
olurCORE CORE ...
31 kez.
Çekirdeği 1. katmanla çalıştırın:
11111 1CCC1 1CCC1 1CCC1 11111
Bu ortalamayı çıkarır ( aritmetik ortalama , liste değerlerinin ) standart kayar nokta kesinliğine çıkarır.
- Çıktı 35/7
0 -1 31 -1 2 2 2
olacaktır =5
(5.0
iyi).
- Çıktı 35/7
Çekirdeği 1. ve 2. katmanlarla çalıştırın:
2222222 2111112 21CCC12 21CCC12 21CCC12 2111112 2222222
Bu, ters çevrilmiş giriş listesinin boşlukla ayrılmış listesini çıkarır.
- İçin çıktı
0 -1 31 -1 2 2 2
olacaktır2 2 2 -1 31 -1 0
.
- İçin çıktı
Çekirdeği 1, 2 ve 3 katmanlarıyla çalıştırın (desen açık olmalıdır).
Bu, sıralanan giriş listesinin boşlukla ayrılmış listesini çıkarır.- İçin çıktı
0 -1 31 -1 2 2 2
olacaktır-1 -1 0 2 2 2 31
.
- İçin çıktı
Çekirdeği 1, 2, 3 ve 4 katmanlarıyla çalıştırın.
Bu, giriş listesinin boşluklarla ayrılmış bir listesini çıkarır, yinelenenler kaldırıldı, sipariş önemli değil.- Çıktı
0 -1 31 -1 2 2 2
olabilir-1 0 2 31
.
- Çıktı
Tüm çıktılar stdout'a veya benzer bir alternatiftir.
Sadece bu 5 düzen kombinasyonunun davranışları belirlendi.
notlar
- Çekirdek veya katmanlar veya bunların kombinasyonlarında yorumlara izin verilmez . İşlem yapılmayan veya yapıcı bir şey yapmayan kod, yorum olarak sayılmaz.
- Çekirdeğin (pozitif) N × N boyutlara sahip olabileceğini unutmayın, ancak katmanlar yalnızca bir karakter kalınlığındadır.
- Girişin baştaki veya sondaki boşlukların ve sayılar arasında tam olarak bir boşluk olmadığını varsayabilirsiniz. Her zaman en az bir sayı içerecektir. (Çıktı listeleri de bu şekilde biçimlendirilmelidir.)
- Çıktı için gerekli olan listenin ve hesaplamaların, tam sayılarınızı (maks . 2 16 gibi makul bir şey olduğu sürece) taşan (veya altındaki) değerlere sahip olmayacağını varsayabilirsiniz .
puanlama
Bu programı normal olarak yazmak kolay olacaktır. Küçük bir çekirdekle yazmak zor.
En küçük çekirdek boyutuna sahip program (en küçük N) kazanır. Kravat durumunda kazanan, en az farklı karaktere sahip (yeni satırları saymaz) tam programdır ((N + 8) × (N + 8) kare).
Lütfen N değerinizi cevabınızın tepesinde bildirin.