মস্তিষ্ক-ফ্লাক আগামীকাল এক বছর বয়সী হয়ে উঠবে ! এটির জন্মদিনের সম্মানে, আমরা একটি পিপিসি স্টাইলের জন্মদিনের পার্টি করছি, যেখানে বেশ কয়েকটি ব্যবহারকারী মস্তিষ্ক-ফ্লাক সম্পর্কিত প্রশ্ন পোস্ট করেন! আমাদের উদযাপন করতে সহায়তা করুন! :)
ব্রেইন ফ্ল্যাাক হ'ল একটি রহস্যময় ভাষা যা আমি লিখেছিলাম যেখানে সমস্ত কমান্ডগুলি বন্ধনী এবং সমস্ত বন্ধনী অবশ্যই পুরোপুরি মিলে যায়। আমার নিজস্ব সংজ্ঞা ধার করা :
এই চ্যালেঞ্জের উদ্দেশ্যে, একটি "বন্ধনী" এই অক্ষরের কোন হল:
()[]{}<>
।খোলার এবং বন্ধ করার বন্ধনীগুলি সঠিক ক্রমে থাকে এবং সেগুলির ভিতরে কোনও অক্ষর না থাকলে, একটি জোড়া বন্ধনী "মিলিত" হিসাবে বিবেচিত হয় as
() []{}
বা এর অভ্যন্তরে প্রতিটি প্রতিবিম্বের সাথে যদি মিলও হয়।
[()()()()] {<[]>} (()())
সুবিলিমেটগুলি বেশ কয়েকটি স্তরকে গভীরভাবে নেস্ট করা যায়।
[(){<><>[()]}<>()] <[{((()))}]>
একটি স্ট্রিংকে "সম্পূর্ণ মিলিত" হিসাবে বিবেচনা করা হয় যদি এবং কেবল যদি:
প্রতিটি একক অক্ষর একটি বন্ধনী,
প্রতিটি বন্ধনী বন্ধনের সঠিক উদ্বোধন এবং বন্ধ বন্ধনী এবং সঠিক ক্রমে থাকে
মস্তিষ্ক-ফ্লাকের প্রথম জন্মদিন উদযাপনে, আজকের চ্যালেঞ্জটি হ'ল ভারসাম্যহীন বন্ধনীর সেট নিয়ে নেওয়া এবং এটি বৈধ মস্তিষ্ক-ফ্লাক তৈরি করতে কোন ধরণের অপারেশন প্রয়োজন তা নির্ধারণ করা।
উদাহরণস্বরূপ,
((
বৈধ মস্তিষ্ক-ফ্ল্যাক কোড নয়, তবে আমরা যদি এতে যুক্ত))
হয়ে থাকি তবে এটি হয়ে যায়(())
, যা সম্পূর্ণ ভারসাম্যযুক্ত এবং তাই বৈধ মস্তিষ্ক-ফ্লাক। এটি এই ইনপুটটিকে সংযোজনযোগ্য করে তোলে ।একইভাবে,
>}
বৈধ নয়, তবে আমরা{<
এটি তৈরি করতে প্রিপেন্ড করতে পারি{<>}
, যা বৈধ। এটি এই ইনপুটটিকে প্রিপেন্ডেবল করে তোলে ।কিছু ইনপুট কিছুটা জটিল। উদাহরণস্বরূপ,
)][({
সংযোজন বা প্রিপেন্ডিংয়ের মাধ্যমে খাঁটিভাবে বৈধ করা যায় না। কিন্তু এটা করতে prepending দ্বারা বৈধ করা[(
এবং সংযোজন})]
। অতএব, এই ইনপুটটি প্রিপেন্ডেবল এবং অ্যাপেন্ডেবল উভয়ই ।শেষ অবধি, কিছু ইনপুট সংযোজন বা প্রিপেন্ডিংয়ের কোনও সংমিশ্রণ দ্বারা কখনই বৈধ মস্তিষ্ক-ফ্ল্যাক কোড তৈরি করা যায় না। উদাহরণস্বরূপ,
(>
কখনই বৈধ করা যায় না। (প্রস্তুতি<
তৈরি করে<(>
এবং সংযোজন)
তৈরি করে(>)
, যার মধ্যে কোনটি বৈধ নয়) অতএব, এই ইনপুটটি পরিমিত বা প্রিপেন্ডেবলও নয়।
আজকের চ্যালেঞ্জের জন্য আপনার অবশ্যই একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা বন্ধনীগুলির একটি স্ট্রিং নেয় এবং স্ট্রিংটি কিনা তা নির্ধারণ করে
appendable
prependable
both
neither
আপনি প্রতিটি ক্ষেত্রে প্রতিনিধিত্ব করতে কোন মান ব্যবহার করেন তা চয়ন করতে পারেন। উদাহরণস্বরূপ, আউটপুট 1, 2, 3, 4
, বা 'a', 'p', 'b', 'n'
, বা 1, 'foo', 3.1415, -17
, বা যা কিছু ভাল। যতক্ষণ না প্রতিটি আউটপুট স্বতন্ত্র এবং সামঞ্জস্যপূর্ণ তা ঠিক আছে। তবে আপনাকে অবশ্যই স্পষ্টভাবে উল্লেখ করতে হবে যে কোন আউটপুটটি কেসের সাথে সম্পর্কিত।
আপনি যেকোনো বিন্যাসে এই মানটি সবচেয়ে সুবিধাজনক হিসাবে ফিরিয়ে দিতে পারেন (উদাহরণস্বরূপ, কোনও ফাংশন থেকে ফিরে আসা, STDOUT এ মুদ্রণ করা, যুক্তি সংশোধন করা, কোনও ফাইলে লেখা ইত্যাদি)।
আপনি ধরে নিতে পারেন যে ইনপুটটি কখনই বৈধ মস্তিষ্কের-ফাঁকা বা খালি হবে না।
উদাহরণ
নিম্নলিখিত ইনপুটগুলি সমস্ত প্রিপেন্ডেবল :
))
(((()()())))}
)>}]
()[]{}<>)
এগুলি সমস্ত সংযোজনযোগ্য :
(({}{})
((((
([]()())(
{<<{
এগুলি উভয়ই :
))((
>()[(()){
>{
এবং এগুলি সব কিছুই নয় :
)(}
{(((()()()))>
[}
((((((((((>
((((((((((<>()]
যথারীতি, এটি কোড-গল্ফ , সুতরাং মানক লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তরটি জিততে পারে!
এই চ্যালেঞ্জটি মস্তিষ্ক-ফ্লাকের ক্ষেত্রে বিশেষত কঠিন, তাই মস্তিষ্ক-ফ্ল্যাঙ্কে লিখিত যে কোনও এবং প্রতিটি উত্তরকে সর্বাধিক ব্রাউনি নির্দেশ করে। :)
][
হয় না কিছুই আপনাকে সংযুক্ত করতে পারবেন যেমন বৈধ করতে পারেন appendable। একইভাবে, এটি প্রিপেন্ডেবল নয়। এটি ... 'প্রবেশযোগ্য'! পুরো বৈধ Brainflak করতে আপনি একটি স্ট্রিংয়ের মধ্যে এটি সন্নিবেশ করতে পারেন।
You can assume that the input will never be valid brain-flak or empty.
maximum brownie points
আমি মনে করি যে পরিবর্তে সর্বাধিক ব্রাউন পয়েন্ট এবং কুকিজ সরবরাহ করা ব্রেন-ফ্ল্যাঙ্ককে এই চ্যালেঞ্জকে কেবল ব্রাউন পয়েন্টের চেয়ে বেশি উত্সাহিত করবে, যেহেতু আমি মনে করি না যে এটি কোনও ভাষায় একেবারেই নগণ্য , তাই ব্রেইন-ফ্লাককে ছেড়ে দিন। : পি