GÜNCELLEME PUANLAMA : Bu zorluk tahmin ettiğimden daha zor olduğu için puanlamayı ayarladım. Tek bir ayna girişini çözebilen bir program geçerli bir cevaptır. Daha sofistike programlar puanlarına bir bonus kazanırlar.
Ayna kutusunda bir lazer yolu bulmak için PPCG'de birkaç bulmaca var. Bu bulmacada, bir dizi lazer varış noktasına uyacak bir ayna kutusu oluşturmanız gerekir .
Size bir kutu ve lazerlerin girip çıkacağı özellikler verilir. Programınızın spesifikasyonu karşılamak için kutuya tam olarak N çift taraflı ayna yerleştirmesi gerekir. Aynalar 45 derecede açılı olmalı, ancak öne eğimli veya arka eğimli olabilir.
Giriş
Programınız, aşağıdaki biçim örneklerinde STDIN, komut satırı bağımsız değişkeni veya dosya aracılığıyla bir kutu ızgarası kabul etmelidir:
+--G--+ +abcde+
G | f/////d
| /| a// c
+-----+ f |
+-b-e-+
Harf çiftleri ([a-zA-Z] kullanılabilir) 52 lazerin giriş / çıkışını gösterir. Kutunun içinde N /
ayna olacak . Kutu boyutları 3 <= W, H <= 200 olacaktır. Kutu +|-
karakterlerden oluşur. Kutuda sıfır dahil olmak üzere herhangi bir sayıda ayna olabilir.
Çıktı
/
Karakterler taşınabileceği ve / veya \
karakterlere dönüştürülebileceği dışında, çıktı girdiyle eşleşmelidir . Programınız STDOUT'a veya isteğe bağlı yeni satırın sonuna gelen bir dosyaya doğru bir ayna kutusu dizesi göndermelidir. Aynaların yerleştirilmesi giriş özelliklerini karşılayamıyorsa, çıktı Impossible\n
. Olası çözümlere örnekler:
+--G--+ +abcde+
G / | f \ \ d
| | a/ \ c
+-----+ f / //|
+-b-e-+
Test örneği
Giriş:
+abcdefghijklmnopqrstuvwxyA-+
|/////////////// |
|/////////////// |
| |
+-Abcdefghijklmnopqrstuvwxya+
Örnek çıktı:
+abcdefghijklmnopqrstuvwxyA-+
|\ \|
|/ / |
|\\\\\\\\\\\\\\\\\\\\\\\\\\ |
+-Abcdefghijklmnopqrstuvwxya+
Puanlama (GÜNCELLENDİ)
Bu bonuslar ile kod golf. Cevabınızı, programınızın kaç aynayı çözebileceğini (N) aday göstermelisiniz. Puanınız, bayt cinsinden programınızın uzunluğunun N'ye bölünmesiyle elde edilir. Bu, insanların basit bir programla girmesine izin verir, ancak daha fazla hırs programcısını bonus ile ödüllendirir.
Standart boşluklara izin verilmedi.
* 2^30
orada da bir bileşene ihtiyacınız olduğunu düşünüyorum