ধরুন আমাদের একটি ম্যাট্রিক্স অক্ষর বোর্ড আছে। যেখানে প্রতিটি কোষ একটি অক্ষর ধারণ করছে। আমাদের কাছে টার্গেট নামে একটি স্ট্রিংও রয়েছে, আমাদের বাঁ-থেকে-ডানে, বা উপরে-থেকে-ডাউন ইউনিডাইরেকশনাল উপায়ে ম্যাট্রিক্সে লক্ষ্য খুঁজে পাওয়া যায় কিনা তা পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট মত হয়
a | n | t | s |
s | p | i | n |
l | a | p | s |
শব্দ ="টিপ"
তারপর আউটপুট হবে True, আপনি দেখতে পাবেন তৃতীয় কলাম (উপর থেকে নীচে) "টিপ" গঠন করছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- বোর্ডের প্রতিটি i জন্য, করুন
- i :=i তে উপস্থিত অক্ষর থেকে শব্দ তৈরি করুন
- যদি i-তে শব্দ থাকে, তাহলে
- সত্য ফেরান
- i :=0
- যখন আমি <বোর্ডের সারি গণনা করি, তখন কর
- j :=বোর্ডে ith কলামের অক্ষর থেকে স্ট্রিং তৈরি করুন
- i :=i + 1
- যদি শব্দটি j-এ থাকে, তাহলে
- সত্য ফেরান
- মিথ্যে ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(board, word): for i in board: i = "".join(i) if word in i: return True i = 0 while i < len(board): j = "".join([col[i] for col in board]) i += 1 if word in j: return True return False board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]] word = "tip" print(solve(board, word))
ইনপুট
[["a","n","t","s"], ["s","p","i","n"], ["l","a","p","s"]], "tip"
আউটপুট
True