মডিউল ৩_৩ঃ 2D গ্রীড
Last updated
Last updated
2D গ্রীড হচ্ছে একটি 2D matrix। যেইখানে প্রতিটি ইনডেক্সে কিছু ক্যারেক্টার থাকে। এক্ষেত্রে আপনাকে একটি source দেয়া থাকবে এবং সেই source থেকে BFS অথবা DFS চালাতে হয়।
নিচে 3x3 এর একটি 2D গ্রীড দেখানো হলঃ
2D গ্রীডে কিভাবে movement করতে পারবেন সেইটি আপনাকে প্রশ্নে বলে দেয়া থাকবে। উপরে , নিচে, বামে, ডানে এইগুলোতে movement করা যাবে বলা হতে পারে , আর কিছু প্রশ্নে উপরে, নিচে, বামে, ডানে এবং অ্যাডজাসেন্সয়েও movement করা যাবে বলা হতে পারে।
এখন উপরে , নিচে, বামে, ডানে movement বলতে বুঝায় কোন একটা সেল থেকে উপরে , নিচে, বামে, ডানে যেতে পারব।
উপরের চিত্রে ধরা হল আপনি সবুজ কালার করা সেল এ আছেন যেইটির, i = 1 এবং j = 1 (এইখানে i দ্বারা row নং এবং j দ্বারা column নং বুঝানো হয়েছে) ।
এখন আপনাকে বলা হল উপরের দিকে movement করুনঃ
উপরে movement করার পর আপনার i = 0 হয়ে গেল এবং j = 1 একই রয়ে গেল। তাহলে এইটি থেকে আমরা বুঝতে পারলাম 2D গ্রীডে যদি আমাদের বর্তমান সেল থেকে উপরের সেলে যেতে হলে i - 1 করতে হবে।
এখন বলা হল সেল i = 1 এবং j = 1 থেকে আপনি নিচের দিকে movement করুনঃ
উপরে movement করার পর আপনার i = 2 হয়ে গেল এবং j = 1 একই রয়ে গেল। তাহলে এইটি থেকে আমরা বুঝতে পারলাম 2D গ্রীডে যদি আমাদের বর্তমান সেল থেকে নিচের সেলে যেতে হলে i + 1 করতে হবে।
এখন বলা হল সেল i = 1 এবং j = 1 থেকে আপনি বামের দিকে movement করুনঃ
উপরে movement করার পর আপনার i = 1 একই রয়ে ফেল কিন্তু j = 0 গেল। তাহলে এইটি থেকে আমরা বুঝতে পারলাম 2D গ্রীডে যদি আমাদের বর্তমান সেল থেকে বামের সেলে যেতে হলে j - 1 করতে হবে।
এখন বলা হল সেল i = 1 এবং j = 1 থেকে আপনি ডানের দিকে movement করুনঃ
উপরে movement করার পর আপনার i = 1 একই রয়ে ফেল কিন্তু j = 2 গেল। তাহলে এইটি থেকে আমরা বুঝতে পারলাম 2D গ্রীডে যদি আমাদের বর্তমান সেল থেকে ডানের সেলে যেতে হলে j + 1 করতে হবে।
এইভাবে 2D গ্রীডে উপরে , নিচে, বামে, ডানে movement করতে হয়।
ঠিক একই ভাবে বলা হল সেল i = 1 এবং j = 1 থেকে আপনি উপরের বামের অ্যাডজাসেন্সয়ের দিকে movement করুনঃ
উপরে movement করার পর আপনার i = 0 এবং j = 0 গেল। তাহলে এইটি থেকে আমরা বুঝতে পারলাম 2D গ্রীডে যদি আমাদের বর্তমান সেল থেকে উপরের বামের উপরের বামের অ্যাডজাসেন্সয়ের সেলে যেতে হলে i -1 এবং j - 1 করতে হবে।
বাকি অ্যাডজাসেন্সয়ের movement গুলো কিভাবে হয় সেইগুলো নিজে নিজে একটু চিন্তা করে দেখো।