Spor müsabakalarında genelde kazananlara podyumlarda, ilk sırada birinci, ortada ikinci, ortada ikinci, solda ve üçüncü sırada en düşük üçüncü sırada yer alır. sağa. Bunu burada bazı özel tweakslerle yeniden yaratacağız.
Podyumlar aşağıda sunulmuştur:
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
Bu, bu zorluğun temelini oluşturacaktır. Bir sonraki adım, podyumları üzerlerindeki insanlara (yazdırılabilir ASCII dizeleri) uyacak kadar geniş hale getirmektir. Bununla birlikte, estetik güzelliği sağlamak istiyoruz (çünkü bu harika bir fotoğraf fırsatıdır), bu nedenle her podyumun aynı genişlikte olması ve genişliğin tuhaf olması gerekir. Ek olarak, insanlar (açıkçası) podyumun ortasında durmak isteyeceklerdir, bu nedenle iplerin mümkün olduğunca en iyi şekilde ortalanması gerekir. (Sola veya sağa hizalayabilirsiniz ve tutarlı olması gerekmez.) Yukarıdaki podyum minimum boyuttadır ve 3
geniş kabul edilir .
Örneğin, ["Tom", "Ann", "Sue"]
sırasıyla birinci, ikinci ve üçüncü sırayı temsil eden girdi verildiğinde , aşağıdaki podyumları verin:
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
Ancak, Anne
bunun yerine varsa bir Ann
sonraki boyuta çıkmamız 5
ve dizeleri mümkün olduğunca en iyi şekilde ortalamamız gerekir. Burada, "fazla" harfi Anne
merkezin solunda olacak şekilde hizalanıyorum, ancak hangi tarafa hizalanacağını seçebilirsiniz.
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
Biraz daha uzun isimler için gidelim. Peki ya ["William", "Brad", "Eugene"]
:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
Burada bunun Brad
çok fazla boşluk bıraktığını görüyoruz, çok Eugene
az ve William
tam olarak uyuyor.
Daha uzun bir test durumu için nasıl ["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]
:
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
Son olarak, mümkün olan en küçük girdiye sahibiz ["A", "B", "C"]
:
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |
- Giriş ve çıkış herhangi bir uygun yöntemle verilebilir .
- Girişin boş olmadığı garantilidir (yani,
""
bir isim olarak asla alamayacaksınız ). - STDOUT'a yazdırabilir veya işlev sonucu olarak geri döndürebilirsiniz.
- Tam bir program veya bir işlev kabul edilebilir.
- Karakterler uygun şekilde hizalandığı sürece herhangi bir miktarda boş boşluk kabul edilebilir.
- Standart boşluklar yasaktır.
- Bu kod-golf olduğundan, tüm normal golf kuralları geçerlidir ve en kısa kod (bayt cinsinden) kazanır.