কম্পিউটার

পাইথনের একটি গ্রিড বক্সে বল কোথায় পড়ে তা খুঁজে বের করার প্রোগ্রাম


ধরুন, আমাদেরকে একটি m x n গ্রিড বক্স দেওয়া হয়েছে, যেখানে প্রতিটি ঘরে একটি বোর্ড রয়েছে যা হয় উপরের-ডান থেকে নীচে-বাম, বা উপরের-বাম থেকে নীচে-ডানে অবস্থান করে। এখন উপরের কক্ষগুলি থেকে, একটি বল বাক্সে রাখা হয় এবং সেই বলটি বাক্সের নীচে পৌঁছেছে কিনা তা আমাদের পরীক্ষা করতে হবে৷ গ্রিডটি একটি ম্যাট্রিক্স হিসাবে দেওয়া হয়েছে৷ যদি একটি ঘর 1 চিহ্নিত করা হয় তবে তির্যক বোর্ডটি উপরের-বাম থেকে নীচে-ডানদিকে বিস্তৃত হয়; যদি এটি চিহ্নিত করা হয় -1 এটি উপরের-ডান থেকে নীচে-বাম কোণে বিস্তৃত হয়। যদি n বলগুলিকে বক্সে রাখা হয়, তাহলে আমাদের খুঁজে বের করতে হবে কতটি বল নীচে পৌঁছেছে।

পাইথনের একটি গ্রিড বক্সে বল কোথায় পড়ে তা খুঁজে বের করার প্রোগ্রাম

3x3 গ্রিড বক্সের উদাহরণ।

সুতরাং, যদি ইনপুট ম্যাট =

এর মত হয়
1 1 1 -1
-1 1 1 -1
1 -1 -1 1
1 -1 1 -1

তাহলে আউটপুট হবে [-1, -1, -1, -1]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • i :=মাদুরে সারির সংখ্যা

  • j :=ম্যাটে কলামের সংখ্যা

  • res :=একটি নতুন তালিকা

  • 0 থেকে j রেঞ্জের ভ্যালের জন্য, করুন

    • x :=ভ্যাল

    • 0 থেকে i রেঞ্জের r জন্য, করুন

      • s :=mat[r, x]

      • x :=x + mat[r, x]

      • যদি x <0 বা x>=j বা mat[r, x] s এর মত না হয়, তাহলে

        • res এর শেষে উপাদান -1 যোগ করুন

        • লুপ থেকে বেরিয়ে আসুন

    • অন্যথায়,

      • res এর শেষে x যোগ করুন

  • রিটার্ন রিটার্ন

উদাহরণ

আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি

def সমাধান(mat):i, j =মানচিত্র(len, (mat, mat[0])) res =[] রেঞ্জে val এর জন্য (j):x =val রেঞ্জে (i):s =মাদুর +=[x] রিটার্ন রিপ্রিন্ট(সল্ভ([[1, 1, 1, -1], [-1, 1, 1, -1], [1, -1, -1, 1],[1, - 1, 1, -1] ]))

ইনপুট

<প্রে>[[1, 1, 1, -1], [-1, 1, 1, -1], [1, -1, -1, 1], [1, -1, 1, -1]

আউটপুট

[-1, -1, -1, -1] 

  1. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  2. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  3. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম