Giriş:
1
X
X
X
X XX XXXXXX X X X
X XX XXXXXX X X X
XXX X XX XXXXXX X X X
XXX X XX XXXXXX X X X
Çıktı:
X.
X..
X...
X.... XX. XXXXXX. X.X.X.
X..... XX.. XXXXXX.. X.X.X..
XXX. X......XX... XXXXXX... X.X.X...
XXX.. X......XX....XXXXXX.... X.X.X....
Giriş:
2
XX
XX
XX
XX
XX
XX XX
XX XX
XX XX
XX XX
Çıktı:
.XX
..XX
...XX
....XX
.....XX
..XX..XX
...XX..XX
....XX..XX
.....XX..XX
Şartname:
- Giriş olarak almalısınız
- Işığın sol üstten veya sağ üstten geldiğini belirten bir bayrak. Bu olabilir
1
ya da2
,-1
ya da1
,0
ya da65536
, ya da her neyse sürece iki bayrak tam sayılardır olarak, sizin için uygundur. - Aynı uzunluktaki
X
veyakarakterden oluşan satırlar (yani yastıklı
)
- Hepsi
X
ya son sırada olacak ya daX
altlarında olacak (yani yüzen binalar yok)
- Hepsi
- Işığın sol üstten veya sağ üstten geldiğini belirten bir bayrak. Bu olabilir
- Satırları (binalar) gölgeler eklenmiş olarak çıkarmalısınız. Bu, aşağıdaki prosedürle yapılır:
- Işık sol üstten geliyorsa
.
, binanın yüksekliğiyle aynı yüksekliğe ve genişliğe sahip, sağ kenarından bir boşluktan başlayıp sağa doğru giden dik bir s üçgeni çizin . - Aksi takdirde, sağ üstten geliyorsa, aynı şeyi yapın, ancak sol kenarından geçen ve sola dönük bir boşluktan başlayın.
- Unutmayın,
X
s'yi değiştirerek değiştirmeyin.
; onları olduğu gibi bırakın. - Gölgeleriniz için her zaman "oda" olacak, yani sonunda 3 boşluklu bir bina varsa, bundan sonra en az 3 dolgu alanı olacaktır.
- Işık sol üstten geliyorsa
- Bu kod-golf , yani bayttaki en kısa kod kazanacak!
potato
ve while(1){}
. Soruda belirtildiği gibi, "ne uygunsa".
Regex.Replace
çalışamayacağım bir hata bulduğumu düşünüyorum ... şimdi iki sorunum var mı?
{}
ve{-1*}
bayrak değerleri olarak?