Giriş:
Şu anda sadece bir badmintonla ilgili zorluk olduğunu gördüm . Kendimi badminton oynadığımdan beri (son 13 yıldır) badmintonla ilgili bazı zorluklar ekleyeceğimi düşündüm. Burada ikincisi ( birincisi burada bulunabilir ):
Meydan okuma:
Badminton ile ilgili bazı kurallar:
- Bir servis her zaman net üzerinden çapraz olarak yapılacaktır.
- Her zaman ağa paralel ve en yakın hattan sonra hizmet vermelisiniz.
- Hizmet vermenize izin verilen alan, tek (1'e 1) veya çift / karışık (2'ye 2) olmasına bağlı olarak değişir.
- Bekarlar için (1'e 1), aşağıdaki resimdeki mavi alan hizmet vermenize izin verilen yerdir. Yani bu arkadaki parçayı içerir, ancak yandaki parçaları hariç tutar.
- Çiftler / mix (2'ye 2) için, aşağıdaki resimde yeşil alan sunucuya izin verdiğiniz yerdir. Yani bu, arkadaki parçayı hariç tutuyor, ancak yandaki parçaları da içeriyor.
- Servis yaparken hatlarda duramayabilirsiniz. Ama bir hattın üstüne inerse mekik hala içeride olacak.
İşte bir badminton alanının düzeni:
Zorluk kuralları:
Giriş:
Size iki giriş verilecektir:
- Tek ya da çift / mix oynadığımızı gösteren bir şey (yani bir boole)
- Hangi bloğa hizmet ettiğinizi gösteren bir şey (yani
[1,2,3,4]
veya['A','B','C','D']
yukarıdaki resimde kullanıldığı gibi).
Çıktı:
Yalnızca geçerli hizmete (net dahil) dahil olmak F
üzere, nereden hizmet T
verdiğinizi belirtmek için ve birden fazla potansiyel olarak nereye hizmet edeceğinizi belirtmek için ilgili satırlar .
Gerçekte, belirlenmiş alanlarda herhangi bir yere ve her yerden hizmet vermenize izin verilmesine rağmen, hizmet verecek bir kişinin her zaman hizmet alanının köşesinde duracağı ve ağın ortasına yakın olacağı varsayılır. F
. Ve onlar onlar yerleştiririz nerede olduğu hizmet etmek zorunda alanın dört köşesinden herhangi birinin görev yapacak T
s.
ASCII-art olarak, tüm badminton alanı aşağıdaki gibi olacaktır (sayılar eklenir, böylece bunları kendiniz saymanız gerekmez):
2 15 15 2
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 2
| | | | |
O=====================================O 37 times '='
| | | | |
| | | | | 2
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
Örnekler:
Burada, hizmetin yalnızca ilgili bölümlerini çıktılamak için iki örnek:
Giriş: tek ve hizmet blok A
çıkış:
T---------------T
| |
+---------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
T---------------T
| |
| |
O=====================================O
| |
| |
+---------------+
| F|
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+
| |
+---------------+
Gördüğünüz gibi, F
blok içerisindeki köşede eklenir, ancak T
değiştiriyorsanız +
ASCI sanat çıkışında.
Giriş: çift ve hizmet blok C
çıkış:
+--+---------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | F|
+--+---------------+
| | |
| | |
O=====================================O
| | |
| | |
T---------------+--T
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
T---------------+--T
Zorluk kuralları:
- Satır aralığı ve sondaki satır sonu isteğe bağlıdır (giriş tek olduğunda satır başı ve satır başı iki boş satır dahil). Sondaki boşluklar da isteğe bağlıdır. Ancak önde gelen alanlar zorunludur.
- Hangi bloğa hizmet ettiğimizi gösteren dört makul farklı giriş (tamsayılar için [-999,999] aralığında kalın); ve bunun tek veya çift / karışık olup olmadığını belirtmek için iki makul farklı giriş (lütfen bu ilgili yasak boşluk deliğine dikkat edin ). Lütfen yanıtınızda kullandığınız G / Ç'yi belirtin!
- Bir küçük harf kullanmasına izin verilir
f
vet
yerine (veya karışık durumda)F
veT
. - Tek bir çıktı dizesini döndürmek veya yazdırmak yerine bir satır listesi veya karakter matrisi döndürmenize izin verilir.
Genel kurallar:
- Bu kod golf, bayt cinsinden çok kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için olabildiğince kısa bir cevap bulmaya çalışın. - Varsayılan I / O kuralları ile cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem, uygun parametreler ve dönüş tipi, tam programlar ile kullanılabilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için bir test içeren bir bağlantı ekleyin (örn. TIO ).
- Ayrıca, cevabınız için bir açıklama eklemeniz şiddetle tavsiye edilir.