আপনার কাজটি হ'ল রেজেক্সগুলি সংকলন করা ... একটি রেজেক্সে প্রতিটি চরিত্রের জন্য একটি বিকল্প নির্দিষ্ট করে।
Regexes
রেজেক্সেসগুলি এগুলিকে সমর্থন করে
REGEX = (LITERAL REGEX / GROUP REGEX / STAR REGEX / ALTERNATIVE)
LITERAL = 1 / 0
GROUP = '(' REGEX ')'
STAR = (LITERAL / GROUP) '*'
ALTERNATIVE = '('REGEX ('|' REGEX)*')'
কেন কেবল 1 বা 0? এটি সরলকরণের জন্য। রেজেক্সের কেবলমাত্র নিম্নলিখিত অক্ষরগুলি থাকে:
*()|10
এটি নিম্নলিখিত হিসাবে ব্যাখ্যা করা হয়:
*
ক্লিন তারকা (বাম দল বা আক্ষরিক 0 বা আরও অনেকবার পুনরাবৃত্তি করুন)।|
বিকল্প হ'ল (যদি বামে রেজেক্স বা ডান ম্যাচগুলির রেজেক্স হয় তবে ম্যাচ)।()
গ্রুপিং হয়।1
চরিত্রের সাথে মেলে 1।0
চরিত্র 0 এর সাথে মেলে।
সংকলন কিভাবে?
আপনি ছয়টি কোড স্নিপেট নির্দিষ্ট করেছেন: প্রতিটি রেগেক্স অক্ষর প্রতিস্থাপন করতে একটি। উদাহরণস্বরূপ, যদি আপনার উত্তরটি হয়:
*
:FSAGFSDVADFS
|
:GSDGSAG
(
:GSDG
)
:GDSIH
1
:RGIHAIGH
0
:GIHEBN
তারপরে আপনি প্রতিটি রেজেক্সকে তার সম্পর্কিত কোড স্নিপেটের সাথে প্রতিস্থাপন করুন, সুতরাং:
(0|11)*
রূপান্তরিত হয়:
GSDGGIHEBNGSDGSAGRGIHAIGHRGIHAIGHGDSIHFSAGFSDVADFS
ফলস্বরূপ প্রোগ্রামটি করার কথা কি?
আপনার প্রোগ্রামটি করবে:
- ইনপুট নিন।
- যদি রেজেক্স পুরো ইনপুটটির সাথে মেলে তবে একটি সত্যবাদী মান আউটপুট করুন।
- অন্য একটি মিথ্যা মান আউটপুট।
বাইরের 01
ইনপুটটি সংজ্ঞায়িত আচরণ is ইনপুট খালি থাকতে পারে।
অতিরিক্ত বিধি
- প্রদত্ত রেজেক্স চরিত্রের জন্য, ফলস্বরূপ স্নিপেটটি সর্বদা একই হতে হবে।
- এরপরে আর কোনও উপসর্গ বা প্রত্যয় যোগ করা হয়নি।
- রেজেক্সটি নিরবধি হওয়ার গ্যারান্টিযুক্ত।
স্কোরিং
সবচেয়ে কম সংযুক্ত স্নিপেটটি বিজয়ী winner সুতরাং উদাহরণস্বরূপ স্কোরটি নিম্নরূপ গণনা করা হবে:
FSAGFSDVADFS
+ GSDGSAG
+ GSDG
+ GDSIH
+ RGIHAIGH
+GIHEBN
12 + 7 + 4 + 5 + 8 + 6 = 42