পটভূমি
স্ট্যাক বিড়াল মার্টিন ইন্ডার দ্বারা তৈরি একটি বিপরীত রহস্যময় ভাষা is স্ট্যাক বিড়ালের প্রতিটি কমান্ড হয় নিজের বিপরীত হয় (যেমন একটি প্রতিসম চরিত্র হিসাবে উপস্থাপিত -_:T|), বা এর বিপরীত কমান্ড রয়েছে (যেমন আয়না চিত্র হিসাবে উপস্থাপিত () {} [] <>)। স্ট্যাক বিড়ালগুলির একটি দৃ synt় সিনট্যাকটিক প্রয়োজনীয়তা রয়েছে যে পুরো প্রোগ্রামটি নিজের মিরর ইমেজ হওয়া উচিত। নোট যে এই কোন বৈধ স্ট্যাক বিড়াল প্রোগ্রাম অর্থ হল প্রাকৃতিক আয়না ইমেজ অ্যামবিগ্রাম ।
এখানে স্ট্যাক বিড়ালের পুরো কমান্ড সেট রয়েছে:
- স্ব-প্রতিসম:
!*+-:=ITX^_| - প্রতিসম জোড়া:
(){}[]<>\/
অন্য কোনও অক্ষর অবৈধ; উপরের অক্ষরটিতে অক্ষর না থাকা কোনও ইনপুট আউটপুটকে মিথ্যা বলা উচিত।
ভাষার অতিরিক্ত বাধা রয়েছে ()এবং জোড়গুলি {}সর্বদা ভারসাম্যপূর্ণ হওয়া উচিত তবে সরলতার জন্য আপনাকে এই শর্তটি পরীক্ষা করতে হবে না।
নীচে ক এর কয়েকটি উদাহরণ দেওয়া হল বৈধ স্ট্যাক বিড়াল প্রোগ্রামের (আবার মনে রাখবেন যে আপনি ভারসাম্য প্যারেনগুলির জন্য যাচাই করেন না):
{[+]==[+]}
[)>^<(]
({T)}|{(T})
<(*]{[:!-_:>}<[<)*(>]>{<:_-!:]}[*)>
এগুলি নয়:
b<+>d
())(
({[<++<]})
চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা প্রদত্ত স্ট্রিংটি একটি বৈধ স্ট্যাক বিড়াল প্রোগ্রাম কিনা তা নির্ধারণ করে। আপনার কোডটি একটি প্রাকৃতিক আয়না-চিত্র অ্যামবিগ্রামও হওয়া উচিত , যার অর্থ:
- আপনার কোডটি নিজের একটি আয়না চিত্র হওয়া উচিত।
- আপনার কোডটিতে এক বা একাধিক নতুন লাইন থাকতে পারে, যতক্ষণ না পুরো কোডটি স্বাভাবিকভাবে প্রদর্শিত হয়, এটি নিজের একটি আয়না চিত্র।
- আপনি প্রতিটি লাইনে ট্রেলিং হোয়াইটস্পেসগুলি বাদ দিতে বা যোগ করতে পারেন, কারণ এটি প্রদর্শনটি পরিবর্তন করে না।
- প্রদর্শনের ক্ষেত্রে কিছুটা অস্পষ্টতা থাকায় ট্যাব অক্ষরগুলিকে অনুমতি দেওয়া হয় না।
দ্রষ্টব্য: আপনার কোডটি একটি বৈধ স্ট্যাক বিড়াল প্রোগ্রাম হতে হবে না ; এটিতে কিছু অতিরিক্ত অক্ষর থাকতে পারে যা স্ট্যাক বিড়ালগুলিতে অনুমোদিত নয়। (সম্পূর্ণ তালিকার জন্য নীচে দেখুন।)
উদাহরণস্বরূপ, নিম্নলিখিত দুটি প্রোগ্রামগুলি প্রতিসম (এবং এইভাবে একটি বৈধ জমা ), তৃতীয়টি নয়:
({bTd})
[<q|p>]
({bTd})
IXI
({bTd})
IXI
- "মিরর প্রতিসাম্য" সম্পর্কিত, কেবল স্ট্যাক বিড়াল-শৈলীর প্রতিসাম্য বিবেচনা করা হয় (উদা
({IH})এটি মিরর প্রতিসাম্য থাকা সত্ত্বেও একটি বৈধ জমা নয়) submission - আপনার কোডটিতে কেবল অক্ষরের এই সেটগুলি, এবং আরও নতুন লাইন থাকতে পারে:
- স্ব-প্রতিসাম্য: স্থান (
0x20) +!"'*+-.8:=AHIMOTUVWXY^_ovwx| - প্রতিসম জোড়া:
()/\<>[]bdpq{}
- স্ব-প্রতিসাম্য: স্থান (
অক্ষর সেটটি এসই-তে কোড হিসাবে প্রদর্শিত হলে কঠোরভাবে প্রতিসম বা স্ব-প্রতিসাম্য হতে বেছে নেওয়া হয়।
ইনপুট এবং আউটপুট
ইনপুট পরিসরটি প্রিন্টযোগ্য এএসসিআইআই অক্ষরের যে কোনও এক-লাইনের স্ট্রিং ।
আপনি ইনপুটটিকে স্ট্রিং, অক্ষরের একটি তালিকা বা ASCII মানগুলির একটি তালিকা হিসাবে বেছে নিতে পারেন।
আপনি আউটপুট চয়ন করতে পারেন:
- আপনার পছন্দের ভাষা দ্বারা নির্ধারিত সত্যবাদী / মিথ্যা মানগুলির কোনও
- প্রকৃত ফলাফলের মানগুলি ইনপুটগুলির মধ্যে পৃথক হতে পারে (যেমন সত্যবাদী ইনপুটটির জন্য আউটপুট 1 এবং অন্য সত্যবাদী এর জন্য 2)।
- সত্যবাদী এবং মিথ্যা মানগুলি অদলবদল করার অনুমতি নেই।
- যথাক্রমে সত্য / মিথ্যা জন্য দুটি ধ্রুবক মান
- এই ক্ষেত্রে, ফলাফল মানগুলি হুবহু দুটি ধ্রুবক মানের একটি হওয়া উচিত।
আপনার জমা দেওয়ার ক্ষেত্রে আপনার ইনপুট পদ্ধতি এবং আউটপুট মান নির্দিষ্ট করা উচিত।
জয়ের শর্ত
এটি কোড-গল্ফ , তাই প্রতিটি ভাষায় সর্বনিম্ন বাইট জিততে পারে।
মন্তব্য
- স্ট্যান্ডার্ড লুফোলগুলি যথারীতি নিষিদ্ধ।
- অবশ্যই আপনি স্ট্যাক বিড়ালগুলিতে এটি সমাধান করতে পারেন, তবে সুযোগটি হ'ল আপনি এমন পতাকা ব্যবহার করতে পারবেন না যা আপনার কোডের আকার অর্ধেক কমাতে দেয়। এবং এটি গ্রহণ করা গুরুতরভাবে কঠিন ভাষা: পি
#বারণ কেন ?