Bu meydan okuma, PPCG 2015'in En İyisi kategorisinde yer alan Yılın Çaylakları kategorisinin şerefine : çamurlu deniz balığı (çünkü ben aradığınız dil değilim! ) Ve quartata ( Hakikat Makinesi için ). Tebrikler!
Arka fon
Okyanusun en derin çukurlarında, quartata-balık denilen, kare şeklinde nadir ve belirsiz bir balık yaşar . Game of Life hücresel otomatından gelen planöre benziyor . İşte farklı boyutlarda iki quartata balığı:
-o-
--o
ooo
--oo--
--oo--
----oo
----oo
oooooo
oooooo
Quartata-balığının fotoğrafını çekmeyi başardınız, ancak balıkları çamurla kaplı olduğundan görmek oldukça zor. Şimdi fotoğrafı temizlemek için bir program yazmanız gerekecek.
Giriş
.-o#
Girişiniz, yeni satırlarla ayrılmış bir dize olarak verilen karakterlerin dikdörtgen bir 2D ızgarasıdır . İsterseniz |
ayırıcılar olarak yeni çizgiler yerine borular kullanabilirsiniz ve bir izleyen ve / veya bir önceki ayırıcı varsayalım.
Giriş bazı yan uzunluğunun tam olarak bir quartata-balık içerecektir 3*n
, n ≥ 1
dönemler çevrili pozitif tam sayı olduğu .
okyanus tabanını temsil eder. Balıklar daima yukarıda gösterilen yönde olacaktır. Bu ızgara üzerine kaplanmış, tam bir boş olmayan dikdörtgen karma bölge olacaktır #
, bu da bir çamur bloğunu temsil eder. Kabarcık kartata balığını kısmen veya tamamen kaplayabilir. Örnek bir giriş
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
Çıktı
Çıktınız girdiden tüm karma karakterleri karakterlerle değiştirerek üretilir .-o
, böylece grid tam bir quartata-fish içerir. Bu değişimin doğru şekilde yapılması için her zaman benzersiz bir yol olacaktır; bilhassa, çamur bloğu balığını tamamen kaplar ancak büyüklüğü 3 × 3 ise. Çıkış, girişle aynı ayırıcıyı kullanmalıdır. Yukarıdaki giriş için doğru çıkış
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
Kurallar ve puanlama
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez. Zaman sınırı yoktur: Eğer gönderiminiz sonunda sınırsız zaman ve kaynak verildiğinde durursa, sorun değil.
Test durumları
Input:
.......
...-o-.
...--o.
##.ooo.
##.....
Output:
.......
...-o-.
...--o.
...ooo.
.......
Input:
...-o-.
...-#o.
...ooo.
.......
Output:
...-o-.
...--o.
...ooo.
.......
Input:
.........
.###.....
.###.....
.ooo.....
Output:
.........
.-o-.....
.--o.....
.ooo.....
Input:
.....
.###.
.###.
.###.
Output:
.....
.-o-.
.--o.
.ooo.
Input:
......
......
......
...###
...###
...###
Output:
......
......
......
...-o-
...--o
...ooo
Input:
###o--....
###o--....
###-oo....
###-oo....
###ooo....
###ooo....
###.......
Output:
--oo--....
--oo--....
----oo....
----oo....
oooooo....
oooooo....
..........
Input:
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
Output:
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
Input:
...--oo--....
.#########...
.#########...
.#########...
...oooooo....
...oooooo....
.............
.............
Output:
...--oo--....
...--oo--....
...----oo....
...----oo....
...oooooo....
...oooooo....
.............
.............
Input:
..............
..............
.########.....
.########.....
.########-....
.########-....
.########o....
.########o....
.########o....
.########o....
.########.....
..............
Output:
..............
..............
..............
..............
....--oo--....
....--oo--....
....----oo....
....----oo....
....oooooo....
....oooooo....
..............
..............
Input:
.................
.................
..---ooo---......
..--#########....
..--#########....
..--#########....
..--#########....
..--#########....
..oo#########....
..oo#########....
..oo#########....
....#########....
Output:
.................
.................
..---ooo---......
..---ooo---......
..---ooo---......
..------ooo......
..------ooo......
..------ooo......
..ooooooooo......
..ooooooooo......
..ooooooooo......
.................
Input:
.........................
.........................
....----oooo----.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....oooo########.........
....oooo########.........
....oooooooooooo.........
....oooooooooooo.........
.........................
Output:
.........................
.........................
....----oooo----.........
....----oooo----.........
....----oooo----.........
....----oooo----.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
.........................
......|......|......|...###|...###|...###
(bir çözüm tüm olası sol üst koordinatları denemek ve alanın üzerine 6x6 sığdırmak durumunda)