Giriş:
Ladybug'ları düşündüğümüzde siyah lekeli kırmızı veya koyu turuncu bir böcek düşünürüz. Bu doğru olmasa da , kırmızı / turuncu benekli ladybugs veya hiç lekesiz ladybugs da olduğu için , çoğunlukla bu Asya Uğur Böceği gibi bir şey görüyoruz:
Unutulmaması gereken bir başka şey, uğur böceği üzerindeki lekelerin neredeyse her zaman simetrik olmasıdır. Ve bu meydan okuma burada devreye giriyor.
Meydan okuma:
Bir tamsayı n
( >= 0
) verildiğinde , aşağıdaki ASCII-sanat uğur böceği bir veya birden çok kez çıktı, iki taraf arasında ve iki veya daha fazla uğur böceği arasında eşit şekilde bölünmüş simetrik lekeler.
İşte varsayılan uğur böceği düzeni:
_V_
/(@I@)\
/ | \
| | |
\ | /
''-!-''
Eğer n=0
uğur böceği yukarıdaki gibi çıkarsa .
Ne zaman n
sıfırdan büyüktür, biz ya bir küçük harf ile ASCII sanat böcek boşlukları doldurmak o
veya değiştirmek |
bir sermaye ile merkezde O
. Amaç, n
'boş' uğur böceği (lerinde) üzerinde değişiklik yapmak , yine de simetrik bir çıktı (uğur böceği başına) üretmek ve mümkün olduğunca az sayıda uğur böceği üretmek.
Bu nedenle geçerli çıktılar n=1
:
_V_
/(@I@)\
/ O \
| | |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| O |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| | |
\ O /
''-!-''
Ancak bu geçersiz olur:
_V_
/(@I@)\
/ | \
| o | |
\ | /
''-!-''
Geçerli çıktılar n=2
:
_V_
/(@I@)\
/ O \
| O |
\ | /
''-!-''
_V_
/(@I@)\
/ O \
| | |
\ O /
''-!-''
_V_
/(@I@)\
/ o|o \
| | |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| o | o |
\ | /
''-!-''
etc. There are a lot of possible outputs.
n
Artık tek bir böceğe sığması mümkün olmayan ilk şey n=24
. Bu durumda, mümkün olduğu kadar eşit olarak iki uğur böceğine bölmeniz gerekecektir (aralarında isteğe bağlı olarak bir boşluk veya bir satır olacak şekilde bunları yan yana mı yoksa altından mı çıkartacağınızı seçebilirsiniz). Örneğin:
_V_ _V_
/(@I@)\ /(@I@)\
/o o|o o\ /o o|o o\
|o o | o o||o o | o o|
\o o|o o/ \o o|o o/
''-!-'' ''-!-''
VEYA:
_V_
/(@I@)\
/ooo|ooo\
| | |
\ooo|ooo/
''-!-''
_V_
/(@I@)\
/ooo|ooo\
| | |
\ooo|ooo/
''-!-''
Meydan okuma kuralları:
n
aralığında olacak0-1000
.- STDOUT'a çıkış yapmayı, String veya 2D karakter dizisi / liste vb. Olarak dönmeyi seçebilirsiniz.
- Önde gelen yeni hatlara veya gereksiz beyaz alanlara izin verilmiyor. Firar beyaz boşluklar ve firar tek satır yeni bir çizgiye izin verilir.
- Yukarıda da belirtildiği gibi, iki veya daha fazla uğur böceği gerektiğinde, onları yan yana mı yoksa yan yana mı (veya her ikisinin bir karışımı ..) çıkarmayı seçebilirsiniz.
- İki veya daha fazla uğur böceği yan yana basıldığında, aralarında tek bir isteğe bağlı boşluğa izin verilir. İki veya daha fazla uğur böceği birbiri ile basıldığında, aralarında tek bir isteğe bağlı yeni satıra izin verilir.
- Simetrik ve girişe eşit oldukları sürece, sekans sırasında herhangi bir adımda uğur böceklerinin yerleşimini seçebilirsiniz
n
. - Amaç
n
değişiklik yapmak VE mümkün olduğunca az sayıda uğur böceği olmak olduğundan, yukarıdayken birden fazla uğur böceği kullanmaya başlayacaksınızn=23
. Bu uğur böceği düzeninin aynı olması gerekmiyor. Aslında, bu iki girdi gibin=25
veya bazın=50
isimler için bile mümkün değildir . - Ek olarak, bazen noktaları iki veya daha fazla uğur böceği arasında eşit şekilde bölmek mümkün olmayabilir. Bu durumda, aralarında olabildiğince eşit bir şekilde bölmek zorunda kalacaksınız.
Bu nedenle n=50
, son iki kuralı göz önünde bulundurarak, bu geçerli bir çıktı olabilir (ilk böceğin 16 nokta, diğer ikisinin ise 17):
_V_ _V_ _V_
/(@I@)\ /(@I@)\ /(@I@)\
/oooOooo\ / O \ /o oOo o\
|ooooOoooo||ooooOoooo||o ooOoo o|
\ | / \oooOooo/ \o oOo o/
''-!-'' ''-!-'' ''-!-''
Genel kurallar:
- Bu kod golf , bayt cinsinden en kısa cevap kazanır.
Code-golf dillerinin, codegolfing olmayan dillerle cevap göndermekten vazgeçmesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT fonksiyonlarını, uygun parametrelerle fonksiyonlarını ve geri dönüş tipini, tam programları kullanmanıza izin verilir. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, lütfen gerekirse bir açıklama ekleyin.
o
ve O
yerine kullandım. İfadeleri biraz değiştirdim.
n=50
ilk böceğin 16 nokta, diğer ikisinin de 17 puan aldığına inanıyorum.