পার্ল এবং পিসিআরই রেজেক্স, 280 বাইট
^(?=(.*z){2})(?=(.*\(){43})(?=(.*\)){43})(?=(.*\*){22})(?=(.*\.){23})(?=(.*0){2})(?=(.*1){6})(?=(.*2){16})(?=(.*3){7})(?=(.*4){4})(?=(.*5){1})(?=(.*6){3})(?=(.*7){2})(?=(.*8){2})(?=(.*9){1})(?=(.*=){22})(?=(.*\?){22})(?=(.*\\){11})(?=(.*\^){2})(?=(.*\{){23})(?=(.*\}){23}).{280}\z
(কিছুটা) আরও পঠনযোগ্য:
^
(?=(.*z){2})
(?=(.*\(){43})
(?=(.*\)){43})
(?=(.*\*){22})
(?=(.*\.){23})
(?=(.*0){2})
(?=(.*1){6})
(?=(.*2){16})
(?=(.*3){7})
(?=(.*4){4})
(?=(.*5){1})
(?=(.*6){3})
(?=(.*7){2})
(?=(.*8){2})
(?=(.*9){1})
(?=(.*=){22})
(?=(.*\?){22})
(?=(.*\\){11})
(?=(.*\^){2})
(?=(.*\{){23})
(?=(.*\}){23})
.{280}\z
এটি লিখিত হিসাবে ও (2 ^ n) সময়ে চলে তাই অবিশ্বাস্যভাবে অক্ষম। এটি পরীক্ষা করার সবচেয়ে সহজ উপায় প্রতিটি সংঘটন প্রতিস্থাপন করতে হয় .*
সঙ্গে .*?
, যে ক্ষেত্রে যেখানে এটি প্রথম চেক করা মিলে যায় ঘটায় (যার অর্থ, এটির রৈখিক সময় মিলে যায়, কিন্তু এখনও সূচকীয় সময় যদি এটি মেলে ব্যর্থ নেয়)।
মূল ধারণাটি হ'ল আমরা রেজেক্সের দৈর্ঘ্য ২৮০ সমান করে প্রয়োগ করি এবং রিজেক্সের প্রতিটি অক্ষরকে কমপক্ষে একটি নির্দিষ্ট সংখ্যক বার দেখাতে বাধ্য করার জন্য লুক হেড এ্যাসেরেন্স ব্যবহার করি, উদাহরণস্বরূপ চরিত্রটিকে কমপক্ষে দু'বার প্রদর্শিত হতে (?=(.*z){2})
বাধ্য করে z
। 2+43+43+22+23+2+6+16+7+4+1+3+2+2+1+22+22+11+2+23+23
280, সুতরাং আমাদের কোনও অক্ষরের কোনও "অতিরিক্ত" উপস্থিতি থাকতে পারে না।
এটি একটি অটোগ্রামের প্রোগ্রামিং উদাহরণ , এমন একটি বাক্য যা এতে উপস্থিত প্রতিটি অক্ষরের সংখ্যা তালিকাভুক্ত করে নিজেকে বর্ণনা করে (এবং এই ক্ষেত্রে পুরো দৈর্ঘ্যও)। আমি এটি নির্মাণে মোটামুটি ভাগ্যবান হয়েছি (সাধারণত আপনি নিষ্ঠুর শক্তি ব্যবহার করতে হবে তবে আমি সম্পূর্ণরূপে এটি লেখার আগে আমার ব্রুট-ফোর্স প্রোগ্রামটি পরীক্ষা করার সময় এই সমাধানটি পেরিয়ে গিয়েছিলাম)।
মার্টিন ইন্ডারের সহযোগিতায় পার্ল এবং পিসিআরই রেজেক্স, 253 বাইট
আমি অনুমান করেছি যে সংক্ষিপ্ততর সমাধান হতে পারে যা কিছু অঙ্ক বাদ দেয় (সম্ভবত 9, 8 বা 7)। মার্টিন ইন্ডার একটি পেয়েছিলেন, নীচে দেখানো হয়েছে:
^(?=(.*z){2})(?=(.*\(){39})(?=(.*\)){39})(?=(.*\*){20})(?=(.*\.){21})(?=(.*0){4})(?=(.*1){6})(?=(.*2){11})(?=(.*3){6})(?=(.*4){3})(?=(.*5){2})(?=(.*6){3})(?=(.*9){4})(?=(.*=){20})(?=(.*\?){20})(?=(.*\\){9})(?=(.*\^){2})(?=(.*{){21})(?=(.*}){21}).{253}\z
পঠনযোগ্য সংস্করণ:
^
(? = (। * Z- র) {2})
(? = (। * \ () {39})
(? = (। * \)) {39})
(? = (। * \ *) {20})
(? = (। * \।) {21})
(? = (। * 0) {4})
(? = (। * 1) {6})
(? = (। * 2) {11})
(? = (। * 3) {6})
(? = (। * 4) {3})
(? = (। * 5) {2})
(? = (। * 6) {3})
(? = (। * 9) {4})
(? = (। * =) {20})
(? = (। * \?) {20})
(? = (। * \\) {9})
(? = (। * \ ^) {2})
(? = (। * {) {21})
(? = (। *}) {21})
। {253} \ z- র