চ্যালেঞ্জ
একটি ফাংশন তৈরি করুন, যখন ASCII আর্টের ইনপুট দেওয়া হবে (শেষ পর্যন্ত লুপ হতে পারে এমন কোনও পথ নির্দেশ করে) লুপটির দৈর্ঘ্য (যদি সেখানে একটি থাকে) এবং একটি "লুপ" এর দৈর্ঘ্যকে আউটপুট দেয়? নীচে ফর্ম।
ইনপুট
আপনার ইনপুট অবশ্যই একটি ফাংশনে পাস করতে হবে। নীচে একটি সাধারণ ইনপুট উদাহরণ is
# --> # --> #
^ |
| |
| v
# <-- #
আপনি উপরের ব্লকগুলি এর মতো দেখতে পারেন
"লেজ" একটি আইটেম, লুপটি দীর্ঘ দীর্ঘ হয়।
আরও কঠিন একটি:
# --> # --> #
^ |
| |
| v
# --> # <-- # # --> #
^ ^ |
| | |
| | v
# --> # # <-- # <-- #
আউটপুট
আপনাকে অবশ্যই STDOUT বা আপনার ভাষার নিকটতম বিকল্পের মাধ্যমে আউটপুট দিতে হবে।
আপনার দুটি আউটপুট পূর্ণসংখ্যার লেজের দৈর্ঘ্য এবং লুপের দৈর্ঘ্য হওয়া উচিত। এই আউটপুট দুটি ফর্ম হতে পারে।
- একটি স্পেস-সীমাবদ্ধ স্ট্রিং:
"2 10"
- পূর্ণসংখ্যার একটি অ্যারে:
[2, 10]
বিধি
প্রতিটি ব্লক, বা
#
, কেবল নিজের থেকে একক পথ দূরে থাকবে ।প্রতিটি তীর দুটি লাইনের বিভাগ এবং এক মাথা।
প্রারম্ভিক ব্লকটি সর্বদা বামতম কলামে থাকবে।
ইনপুট কখনই কেবল একটি লুপ হবে না।
উদাহরণ
# --> # --> # --> #
^ ^ |
| | |
| | v
# # <-- # <-- #
এটির একটি লেজের দৈর্ঘ্য 2 এবং একটি লুপ দৈর্ঘ্য 6 থাকে নীচে, লেজ এবং লুপ পৃথক করা হয়।
লেজ
# -->
^
|
|
#
লুপ
# --> # --> #
^ |
| |
| v
# <-- # <-- #
সঠিক ফলাফলগুলি হ'ল [2, 6]
এবং "2 6"
।
যদি ইনপুটটি কেবল একটি লেজ হয় তবে লুপের দৈর্ঘ্য শূন্য।
# --> # --> # --> #
|
|
v
<-- # <-- #
উপরের ইনপুটটির সঠিক ফলাফলগুলি হ'ল [6, 0]
এবং"6 0"