Minecraft video oyunu tamamen sanal dünyayı oluşturan 3D tamsayı kafese farklı blok türlerini yerleştirmek ve kaldırmakla ilgilidir . Her kafes noktası tam olarak bir blok içerebilir veya boş olabilir ( resmi olarak bir " hava " bloğu). Bu meydan okumada, 3D dünyasının sadece bir yatay 2D düzlemi ve bir tür blokla ilgileneceğiz: sandıklar .
Sandıklar oyuncuların eşyaları saklamasına izin verir. İki göğüs aynı yatay düzlemde dik olarak bitişik olduğunda, dokuları birbirine bağlanır ve iki kat kapasite formlu bir çift göğüs. Çift göğüsten daha büyük bir şey yapılamaz; üçlü sandık veya dörtlü sandık yoktur.
Bir göğüs bloğu, ancak dikey olarak bitişik dört noktasının tümü boşsa veya tam olarak biri zaten bir çift göğsün parçası olmayan bir göğüs bloğu içeriyorsa boş bir kafes noktasına yerleştirilebilir. Bu yerleştirme kuralları, hangi göğüs bloklarının çift sandık oluşturmak üzere bağlandığı konusunda hiçbir belirsizlik olmamasını sağlar.
Örneğin .
, boş alan ve C
bir sandık olduğunu varsayalım : (Sayılar da boş alan ve sadece tanımlama amaçlıdır.)
.......C..
.1.C2.C3..
........5C
.CC4..CC..
..........
- Bir komşu boş olduğu için 1. noktaya bir göğüs yerleştirilebilir.
- Komşu göğüs bir çift göğsün (henüz) bir parçası olmadığı için 2. noktaya bir göğüs yerleştirilebilir.
- Bir göğüs nokta 3'e konulamaz, çünkü çift göğsün nasıl oluştuğuna dair bir belirsizlik olacaktır.
- Komşu göğüs zaten bir çift göğsün parçası olduğu için 4. noktaya bir göğüs yerleştirilemez.
- 5. noktaya bir göğüs yerleştirilebilir. Çapraz olarak komşu çift göğüs hiçbir şeyi etkilemez.
Izgara ötesindeki alanın boş olduğu varsayılarak, bir göğüs yerleştirilebiliyorsa .
ızgaradaki her birinin bir olarak değiştirilmesi *
, bununla sonuçlanır:
******.C**
***C**C.**
*..***..*C
.CC.*.CC.*
*..***..**
Tüm *
alanlar aynı anda sandıklarla dolu olmayabilir, ancak sadece bir göğsünüz varsa, bunlardan herhangi birine yerleştirilebilir.
Meydan okuma
Bir de götüren bir program veya fonksiyon yazın .
ve C
ızgara ve her değiştirir .
a *
bir göğüs baskı ya çıkan ızgara dönen, orada yerleştirilebilir eğer.
Girdi stdin'den veya bir dosyadan veya bir işleve dize bağımsız değişkeni olarak olabilir.
Girdinin iyi biçimlendirildiğini varsayabilirsiniz - yani en az 1 karakter genişliğinde ve uzunluğunda, sadece dikdörtgen bir metin ızgarası, yalnızca içeren
.
veC
İsteğe bağlı olarak son satırdan sonra bir satırsonu olduğunu varsayabilirsiniz (ve çıktıda bir satır olabilir) ).Girdi içindeki sandıkların düzeninin yukarıdaki kurallara uygun olduğunu varsayabilirsiniz. Hangi sandıkların çift sandık oluşturduğu konusunda hiçbir zaman belirsizlikler olmayacaktır.
İstenirse, herhangi üç farklı kullanabilir yazdırılabilir ASCII yerine karakterler
.
,C
ve*
. Yeni satırların yerine başka bir şey kullanamazsınız.Bütün sandıklar normal sandıklardır. Değil sandıkları sıkışıp veya ender sandıkları .
puanlama
En az bayt içeren gönderim kazanır.
Minecraft ile ilgili biraz daha zorlayıcı bir meydan okuma için Nether Portal Detection'ı deneyin .