এই পাঁচটি ASCII শিল্প সমুদ্রের প্রাণী বিবেচনা করুন:
- স্ট্যান্ডার্ড ফিশ:
><>
বা<><
- দ্রুত মাছ:
>><>
বা<><<
- শক্ত মাছ:
><>>
বা<<><
- টানা মাছ:
><<<>
বা<>>><
- কাঁকড়া:
,<..>,
এমন একটি প্রোগ্রাম লিখুন যা অক্ষরের একটি স্বেচ্ছাসেবী স্ট্রিং গ্রহণ করে <>,.
। যদি পুরো স্ট্রিংটিকে অ-ওভারল্যাপিং সমুদ্রের প্রাণীগুলির একটি সিরিজ হিসাবে ব্যাখ্যা করার উপায় থাকে , তবে স্ট্রিংটিকে প্রাণীর মধ্যে sertedোকানো একক স্পেস দিয়ে পুনরায় মুদ্রণ করা উচিত। যদি এই ব্যাখ্যাটি অসম্ভব হয় তবে কিছুই আউটপুট হওয়া উচিত নয় (প্রোগ্রামটি নিঃশব্দে শেষ হবে)।
উদাহরণস্বরূপ, স্ট্রিংটি <><><>
দুটি স্ট্যান্ডার্ড ফিশ-ব্যাক-ব্যাক হিসাবে ব্যাখ্যা করা যেতে পারে। সংশ্লিষ্ট আউটপুট হবে <>< ><>
।
অন্য উদাহরণ হিসাবে, স্ট্রিংয়ের ><>><>>
"উদাহরণগুলি" রয়েছে ...
(বন্ধনীগুলি কেবল সূচক হিসাবে যুক্ত হয়েছে)
- একটি দম্পতি স্ট্যান্ডার্ড মাছ:
[><>][><>]>
- একটি দ্রুত মাছ:
><[>><>]>
- একটি শক্তিশালী মাছ কয়েকটি উপায়ে:
[><>>]<>>
এবং><>[><>>]
তবে, কেবলমাত্র একটি স্ট্যান্ডার্ড মাছ এবং শক্তিশালী মাছের জুড়ি [><>][><>>]
কোনও ফ্রি শেয়ারিং অক্ষর (কোনও ওভারল্যাপ নয়) সহ স্ট্রিংয়ের পুরো দৈর্ঘ্যকে ছড়িয়ে দেয়। এইভাবে ফলাফল আউটপুট ><>><>>
হয় ><> ><>>
।
যদি স্ট্রিংটিকে ব্যাখ্যা করার একাধিক উপায় থাকে তবে আপনি সেগুলির কোনও একটি মুদ্রণ করতে পারেন। (এবং শুধুমাত্র প্রিন্ট এক । তাদের) উদাহরণস্বরূপ, <><<<><
একটি প্রমিত মাছ ও একটি বলিষ্ঠ মাছ হিসেবে ব্যাখ্যা করা যেতে পারে: [<><][<<><]
, অথবা একটি দ্রুত মাছ ও একটি প্রমিত মাছ হিসাবে: [<><<][<><]
। সুতরাং হয় <>< <<><
বা <><< <><
বৈধ আউটপুট হবে।
কাঁকড়াগুলি কেবল মজাদার জন্য। যেহেতু তারা শুরু করে না বা শেষ হয় <
না >
, তাই তাদের সনাক্ত করা খুব সহজ (কমপক্ষে দৃশ্যত)। উদাহরণস্বরূপ, স্ট্রিং
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
স্পষ্টতই আউটপুট উত্পাদন করবে
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
এখানে স্ট্রিংগুলির কয়েকটি উদাহরণ রয়েছে (প্রতি লাইনে একটি) যা কোনও আউটপুট দেয় না:
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
আপনি যদি শীর্ষস্থানটি সরিয়ে থাকেন তবে এখানে শেষ স্ট্রিংটি বিশ্লেষণ করা যাবে <
:
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(অন্যান্য সম্ভাব্য আউটপুটও থাকতে পারে))
বিস্তারিত
- ইনপুট স্ট্রিংয়ে কেবল অক্ষর থাকবে
<>,.
। - ইনপুট স্ট্রিং কমপক্ষে একটি অক্ষর দীর্ঘ হবে।
- কোনও সাধারণ উপায়ে ইনপুট নিন (কমান্ড লাইন, স্টিডিন) এবং স্ট্যান্ডআউটে আউটপুট।
- বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী। ( হ্যান্ড বাইট কাউন্টার। ) টাইব্রেকার আগের পোস্ট।