এই চ্যালেঞ্জের লক্ষ্য হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা প্রদত্ত কোর্সটি সম্পন্ন করতে সর্বনিম্ন পরিমাণ স্ট্রাইকের প্রয়োজন হয়।
ইনপুট
- কোর্সের লেআউটটি আপনার পছন্দের কোনও উপযুক্ত উপায়ে এবং ফর্ম্যাটে উত্তীর্ণ হতে পারে। (কনসোল থেকে পড়া, ইনপুট প্যারামিটার হিসাবে পাস করা, কোনও ফাইল বা অন্য কোনও, মাল্টলাইন-স্ট্রিং, স্ট্রিং অ্যারে, দ্বি-মাত্রিক অক্ষর / বাইট অ্যারে থেকে পড়া)।
- বল এবং গর্তের প্রারম্ভিক অবস্থানটি ইনপুট হিসাবেও পাস করা যায়, এটি ইনপুট থেকে পার্স করতে হবে না। পরীক্ষার ক্ষেত্রে এগুলি অবশ্যই কোর্সে অন্তর্ভুক্ত করা হয় তা নিশ্চিত করার জন্য যে আসল অবস্থান সম্পর্কে কোনও বিভ্রান্তি নেই।
- আপনি ইনপুট অক্ষরগুলিকে অন্য কোনও কিছুর সাথে পুনর্নির্মাণ করতে পারবেন, যতক্ষণ না তারা স্বতন্ত্র অক্ষর হিসাবে চিহ্নিত (যেমন মুদ্রণযোগ্য ASCII অক্ষর)।
আউটপুট
- বুদ্ধিমান ফর্ম্যাটের ইনপুট হিসাবে পাস করা যে কোনও কোর্সের (স্ট্রিং, পূর্ণসংখ্যার, ভাসা বা ফলাফল বর্ণনা করার জন্য একটি হাইকু) প্রোগ্রামটি অবশ্যই সর্বনিম্ন সম্ভাব্য স্কোরটি (গর্তে পৌঁছানোর জন্য প্রয়োজনীয় স্ট্রাইকগুলির কমপক্ষে) ফেরত দিতে হবে
- যদি কোর্সটি বীট করা অসম্ভব, তবে ফিরে
-1
(বা আপনার পছন্দের কোনও মিথ্যা মান যা কোনও বীটযোগ্য কোর্সের জন্য ফিরে আসবে না)।
উদাহরণ:
এই উদাহরণে পজিশনগুলিকে 0-ভিত্তিক, এক্স / ওয়াই, বাম থেকে ডান, শীর্ষ-নীচে চিহ্নিত করা হয় - তবে ফলাফল যেভাবেই হোক পুরোপুরি বিন্যাস-স্বাধীন তাই আপনি নিজের পছন্দ মতো যে কোনও বিন্যাস ব্যবহার করতে পারেন।
ইনপুট:
###########
# ....#
# ...#
# ~ . #
# ~~~ . #
# ~~~~ #
# ~~~~ #
# ~~~~ o #
# ~~~~ #
#@~~~~ #
###########
Ball (Start-Position): 1/9
Hole (End-Position): 8/7
আউটপুট:
8
বিধি এবং ক্ষেত্র
কোর্সে নিম্নলিখিত ক্ষেত্রগুলি সমন্বিত থাকতে পারে:
'@'
বল - কোর্সের শুরু'o'
ছিদ্র - অবশ্যই লক্ষ্য'#'
ওয়াল - বলটি যখন কোনও প্রাচীরকে আঘাত করবে তখন থামবে'~'
জল - এড়াতে হবে'.'
বালির - বল বালির উপর অবিলম্বে বন্ধ করবে' '
বরফ - বল কিছুটা আঘাত না করা অবধি স্লাইড হতে থাকবে
গেমের প্রাথমিক নিয়ম এবং বিধিনিষেধ:
- বলটি কেবল বাম, ডান, উপরে এবং নীচে ত্রিভুজভাবে চলতে পারে না।
- বলটি জলের সামনে থামবে না, কেবল দেয়ালের সামনে, বালিতে এবং গর্তে।
- জলে শটগুলি অবৈধ / অসম্ভব
- বলটি গর্তে থাকবে, বরফের মতো তার উপরে এড়িয়ে চলবে না
- কোর্সটি সর্বদা আয়তক্ষেত্রাকার হয়।
- কোর্সটি সর্বদা জল বা দেয়াল দ্বারা সীমাবদ্ধ (কোনও সীমানা চেকের প্রয়োজন হয় না)।
- সর্বদা ঠিক এক বল এবং একটি গর্ত থাকে।
- সমস্ত কোর্স বীট সম্ভব হয় না।
- একাধিক পাথ থাকতে পারে যা একই (সর্বনিম্ন) স্কোরের ফলস্বরূপ।
লুফোলস এবং জয়ের শর্ত
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ
- প্রোগ্রাম অবশ্যই শেষ করতে হবে
- আপনি অতিরিক্ত নিয়মগুলি তৈরি করতে পারবেন না (বলটিকে এত শক্তভাবে আঘাত করা যে এটি পানির উপর দিয়ে যায় a
- এটি কোড-গল্ফ , তাই কমপক্ষে অক্ষরের সাথে সমাধানটি জয়ী হয়।
- সমাধানগুলি অবশ্যই প্রদত্ত সমস্ত পরীক্ষার কেসগুলি পরিচালনা করতে সক্ষম হতে পারে, যদি ব্যবহৃত ভাষার সীমাবদ্ধতার কারণে এটি যদি অসম্ভব হয় তবে দয়া করে আপনার উত্তরে এটি উল্লেখ করুন।
পরীক্ষার মামলা
কোর্স # 1 (২ টি স্ট্রাইক)
####
# @#
#o~#
####
কোর্স # 2 (সম্ভব নয়)
#####
#@ #
# o #
# #
#####
কোর্স # 3 (3 টি স্ট্রাইক)
~~~
~@~
~.~
~ ~
~ ~
~ ~
~ ~
~.~
~o~
~~~
কোর্স # 4 (২ টি স্ট্রাইক)
#########
#~~~~~~~#
#~~~@~~~#
## . ##
#~ ~ ~ ~#
#~. o .~#
#~~~ ~~~#
#~~~~~~~#
#########
কোর্স # 5 (সম্ভব নয়)
~~~~~~~
~... ~
~.@.~.~
~... ~
~ ~ ~.~
~ . .o~
~~~~~~~