Bu zorluğun amacı, verilen bir kursu tamamlamak için gereken en az grev miktarını döndüren bir program veya işlev yazmaktır .
Giriş
- Kursun düzeni tercih ettiğiniz herhangi bir şekilde ve biçimde geçirilebilir. (konsoldan okunur, bir giriş parametresi olarak iletilir, bir dosyadan veya diğer herhangi bir, çok satırlı dize, dize dizisi, iki boyutlu karakter / bayt dizisinden okunur).
- Topun ve deliğin başlangıç konumu da girdi olarak geçilebilir, girişten ayrıştırılması gerekmez. Test durumlarına, asıl konum hakkında karışıklık olmadığından emin olmak için kursa dahil edilirler.
- Girdi karakterlerini, farklı karakterler olarak tanınabildikleri sürece başka bir şeye yeniden eşleyebilirsiniz (örn. Yazdırılabilir ASCII karakterleri).
Çıktı
- Program, mantıklı bir formatta girdi olarak geçen herhangi bir kurs için mümkün olan en düşük puanı (deliğe ulaşmak için gereken en az grev miktarını) geri döndürmelidir (dize, tamsayı, kayan nokta veya sonucu açıklayan bir haiku)
- Kursun yenilmesi mümkün değilse, geri dönün
-1
(veya seçtiğiniz bir dövülebilir kursa geri dönüşü yapılmayan herhangi bir sahte değeri).
Örnek:
Bu örnekte, konumlar 0 tabanlı, X / Y, soldan sağa, yukarıdan aşağıya doğru yazılmıştır - ancak sonuç yine de biçimden bağımsız olduğundan istediğiniz herhangi bir biçimi kullanabilirsiniz.
Giriş:
###########
# ....#
# ...#
# ~ . #
# ~~~ . #
# ~~~~ #
# ~~~~ #
# ~~~~ o #
# ~~~~ #
#@~~~~ #
###########
Ball (Start-Position): 1/9
Hole (End-Position): 8/7
Çıktı:
8
Kurallar ve alanlar
Tabii aşağıdaki alanlardan oluşabilir:
'@'
Top - Kursun başlangıcı'o'
Delik - Kursun amacı'#'
Duvar - Bir duvara çarptığında top durur'~'
Su - Kaçınılması Gerekenler'.'
Kum - Top hemen kumun üzerinde duracak' '
Buz - Top bir şeye değene kadar kaymaya devam edecek
Oyunun temel kuralları ve kısıtlamaları:
- Top çapraz olarak hareket edemez, yalnızca sola, sağa, yukarı ve aşağı hareket eder.
- Top suyun önünde, sadece duvarların önünde, kumda ve delikte durmayacaktır.
- Suya yapılan çekimler geçersiz / imkansız
- Top delikte kalacak, buzun üzerinde olduğu gibi atlanmayacak
- Kurs her zaman dikdörtgendir.
- Kurs her zaman su veya duvarlarla sınırlandırılmıştır (sınır kontrolüne gerek yoktur).
- Her zaman tam olarak bir top ve bir delik vardır.
- Tüm kursları geçmek mümkün değildir.
- Aynı (en düşük) puanla sonuçlanan birden fazla yol olabilir.
Loopholes ve Kazanma Durumu
- Standart boşluklar yasaktır
- Programlar sonlandırılmalıdır
- Ek kurallar koyamazsınız (topa çok sert vurmak su üzerine atlar, duvardan atlar, kumlu alanların üzerinden atlar, köşelerin kıvrımları vs.)
- Bu kod-golf , bu yüzden en az sayıda karakter içeren çözüm kazanır.
- Çözümler, verilen tüm test durumlarını idare edebilmelidir, kullanılmış dilin kısıtlamaları nedeniyle bu mümkün değilse lütfen cevabınızı belirtin.
Test durumları
Kurs # 1 (2 grev)
####
# @#
#o~#
####
Ders # 2 (mümkün değil)
#####
#@ #
# o #
# #
#####
Kurs # 3 (3 grev)
~~~
~@~
~.~
~ ~
~ ~
~ ~
~ ~
~.~
~o~
~~~
Kurs # 4 (2 grev)
#########
#~~~~~~~#
#~~~@~~~#
## . ##
#~ ~ ~ ~#
#~. o .~#
#~~~ ~~~#
#~~~~~~~#
#########
Kurs 5 (mümkün değil)
~~~~~~~
~... ~
~.@.~.~
~... ~
~ ~ ~.~
~ . .o~
~~~~~~~