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 Tverdiğ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 Ts.
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, Fblok içerisindeki köşede eklenir, ancak Tdeğ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
fvetyerine (veya karışık durumda)FveT. - 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.