জাভাস্ক্রিপ্ট (বাইরের লাইব্রেরি ব্যবহার করে) (২৩৫ বাইট)
জিজ এই কঠিন ছিল! আচ্ছা ... আমার লাইব্রেরিটি এই হাহার পক্ষে সত্যিই সঠিক কাজ ছিল না। তবে আমি চ্যালেঞ্জটি পছন্দ করেছি
(x,y)=>{r=x-1;s=y-1;m=Math.max(r,s);n=Math.min(r,s);l=_.RangeDown(s,y).WriteLine(z=>_.Range(0,x).Write("",w=>z==0&&w==0?"X":(z==w||(z==s&&w>=n)||(w==r&&z>=n))?"#":"."));return l+"\r\nMove count: "+(l.length-l.split("#").join("").length)}
লিবের লিঙ্ক: https://github.com/mvegh1/ গণনাযোগ্য
কোড ব্যাখ্যা: 2 ভেরিয়েবলের ফাংশন তৈরি করুন। এক্স -1 এবং y-1 ভেরিয়েবলগুলিতে সঞ্চয় করুন। ভেরিয়েবলের মধ্যে সর্বাধিক এবং মিনিট সঞ্চয় করুন। Y এর গণনার জন্য (y-1) থেকে উল্লম্বভাবে অবতীর্ণ পরিসীমা তৈরি করুন। উল্লম্ব পরিসরের প্রতিটি উপাদানের জন্য, জটিল প্রাকটিকেট অনুসারে বর্তমান উপাদানটির জন্য একটি লাইন লিখুন। এই প্রাকটিকটি x এর গণনার জন্য 0 থেকে পূর্ণসংখ্যার একটি আরোহণের পরিসীমা তৈরি করে। এই ব্যাপ্তির প্রতিটি উপাদানের জন্য, একটি জটিল ভবিষ্যদ্বানী অনুসারে 1 স্ট্রিংয়ে সংযুক্ত করুন। এটি নীচে বাম দিকে রয়েছে কিনা তা পরীক্ষা করে দেখায়, অন্যথায় তির্যকটি রয়েছে কিনা তা পরীক্ষা করে, অন্যথায় আমরা এক্স বা ওয়াই সীমান্তে আছি কিনা তা পরীক্ষা করে। অবশেষে, সেগুলি সমস্ত একটি ভেরিয়েবলে সংরক্ষণ করা হয়েছিল। তারপরে সরানো গণনাটি পেতে, আমরা মূলত কেবল # গুলি গণনা করি। তারপরে এটি স্টোরেজ ভেরিয়েবলের সাথে যুক্ত করে ফলাফলটি ফিরিয়ে দিন
ওটা ছিল মুখের হা হা। স্ক্রিনশটটিতে ভুল বাইকোয়ান্ট রয়েছে কারণ এটি পোস্ট করার সময় আমি 4 টি বাইট সংরক্ষণের একটি উপায় খুঁজে পেয়েছি
সম্পাদনা: আমি দেখতে পাচ্ছি অন্যান্য উত্তরগুলি তাদের আউটপুটে "মুভ কাউন্ট:" রাখছে না, তবে আমার। যদি এটির প্রয়োজন না হয় তবে এটি একগুচ্ছ বাইটস শেভ করে ...