জে, 28 টি অক্ষর
((C.!.2=_1^i.&0)&.".&.stdin''
সারণি জুড়ে একক পথ ধরে পর্যায়ক্রমে বাম থেকে ডানে এবং ডানে বামে সারিগুলি সহ ইনপুট ক্রমটি সারি-প্রধান। ধরে নিই শূন্যটি উপরের বাম কোণার সাথে সম্পর্কিত।
উইন্ডোজ ব্যবহার:
<nul set /p="0 1 2 3 7 6 5 4 8 9 10 11 15 14 13 12" | jconsole c:\...\15.jhs
ব্যাখ্যা:
<nul set /p=
ইনপুটটিতে একটি নতুন লাইন প্রতিরোধ করতে ব্যবহৃত হয়, যা echo
উত্পাদন ".
করে না যা পছন্দ করে না। অবশ্যই, ইউনিক্স সমর্থন করে echo /n
।
v&.".&.stdin''
"ভি আন্ডার পার্স আন্ডার স্টিডিন" এর অর্থ "ইনপুট, তারপরে ইনপুটটি বিশ্লেষণ করুন, তারপরে ভি করুন, তারপরে পার্স (= ফর্ম্যাট) পূর্বাবস্থায় ফিরে আনুন (= আউটপুট)"। 1!:1]3
এটি একটি চরিত্রের চেয়ে ছোট, তবে এটির সংজ্ঞা উল্টো নেই।
C.!.2
এর অর্থ "অনুক্রমের সমান্তরতা"। এটি হয় 1
(এমনকি সমতা) বা _1
(বিজোড় সমতা) ফেরত দেয় । এটাই,_1^inversions
_1^i.&0
এর অর্থ "-1 এর সূচকের বিদ্যুতে" -1।
- সুতরাং, এর
C.!.2=_1^i.&0
অর্থ "কি অনুক্রমের সমতাটি গর্তের অবস্থানের সমতা সমান করে?"
এটি একটি 4x4 বোর্ডের জন্য কাজ করে, তবে যদি পছন্দসই প্রান্তের অবস্থানটি সারি-প্রধান বাম থেকে ডান হয় তবে সমাধান পজিশনের জন্য ক্রমবিন্যাসের একটি বিচিত্র সংখ্যার বিপরীততা রয়েছে এবং এইভাবে বিজোড় সমতা রয়েছে। এছাড়াও, পছন্দসই গর্তের অবস্থানটি উপরের বাম থেকে নীচে ডানে সরে গেলে সমতাটি বিপরীত হয় (কোনও ইনপুট ক্রমের জন্য)। উভয় ক্ষেত্রেই, সমাধানটি একটি চরিত্র: প্রত্যাশিত সমতাটিকে বিপরীত করার -
পরে যুক্ত করুন =
।
সঠিকতার প্রমাণ:
প্রতিটি পদক্ষেপের পরে শূন্য কিছু সংখ্যার সাথে একটি অবস্থানের আদান-প্রদান করে, অনুমানের অনুমানটিকে উল্টে দেয়। শূন্যটি সাদা এবং কালো চেকারবোর্ড পজিশনের মধ্যেও বিকল্প হয়, ইনপুট ক্রমটিতে বিজোড় এবং এমনকি পজিশন দ্বারা নির্দেশিত হয়। সুতরাং, এই অবস্থাটি প্রয়োজনীয়। এটি গণনা যুক্তি দ্বারাও যথেষ্ট: এটি সাধারণ জ্ঞান যে ঠিক অর্ধেক অবস্থানগুলি দ্রবণযোগ্য। এই শর্তটি সম্ভব পজিশনের ঠিক অর্ধেক ফিল্টার করে।