কিন্ডারগার্টেনের ক্লাসে শিশুরা গাছ জন্মানো সম্পর্কে শিখছে। শিক্ষক ভাবলেন, মাটিতে লাগিয়ে গাছ বড় করার জন্য ক্লাসের শিশুদের বীজ দিলে ভালো হবে। এই উদ্দেশ্যে শিশুরা জানালার সিল বরাবর ছোট ছোট কাপ রেখেছে এবং প্রতিটি কাপে এক ধরনের গাছ লাগিয়েছে। চার ধরনের বীজের মধ্যে থেকে শিশুরা নিজেদের পছন্দেরটি বেছে নিতে পেরেছে: grass, clover, radishes, and violets.
আপনার কাজ হলো, একটি ডায়াগ্রাম দেখে নির্ধারণ করা কিন্ডারগার্টেন ক্লাসের প্রতিটি শিশু কোন গাছের দায়িত্বে আছে।
ক্লাসে ১২ জন শিশু আছে:
চার ধরনের বীজ রোপণ করা হয়:
| গাছ | ডায়াগ্রামে এনকোডিং |
|---|---|
| Grass | G |
| Clover | C |
| Radish | R |
| Violet | V |
প্রতিটি শিশু চারটি কাপ পায়, প্রতি সারিতে দুটি:
[window][window][window]
........................ # each dot represents a cup
........................
তাদের শিক্ষক শিশুদের নামের বর্ণানুক্রমে কাপ বরাদ্দ করেন, অর্থাৎ Alice প্রথমে এবং Larry সবার শেষে আসে।
Alice-এর গাছগুলো দেখানো একটি উদাহরণ ডায়াগ্রাম এখানে:
[window][window][window]
VR......................
RG......................
প্রথম সারিতে, জানালার সবচেয়ে কাছে, তার একটি violet ও একটি radish আছে। দ্বিতীয় সারিতে তার একটি radish ও কিছু grass আছে।
আপনার প্রোগ্রামকে জানালার সবচেয়ে কাছের সারি থেকে শুরু করে বাম থেকে ডানে গাছগুলো দেওয়া হবে। এটি থেকে, কোন গাছ কোন শিক্ষার্থীর তা নির্ধারণ করতে পারবে।
উদাহরণস্বরূপ, যদি বলা হয় বাগানটি এমন দেখতে:
[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV
তাহলে Alice-এর গাছ চাওয়া হলে, এটি দেবে:
আর Bob-এর গাছ চাইলে পাওয়া যাবে:
কমা ও স্পেস বিভাজক হিসেবে ব্যবহার করে শিক্ষার্থীর গাছগুলো একটি নাল-টার্মিনেটেড স্ট্রিং হিসেবে আউটপুট করুন।
| রেজিস্টার | ব্যবহার | টাইপ | বিবরণ |
|---|---|---|---|
$a0 |
ইনপুট | অ্যাড্রেস | বাগানের ডায়াগ্রাম |
$a1 |
ইনপুট | অ্যাড্রেস | শিক্ষার্থীর নাম |
$a2 |
ইনপুট/আউটপুট | অ্যাড্রেস | নাল-টার্মিনেটেড আউটপুট স্ট্রিং |
$t0-9 |
টেম্পোরারি | যেকোনো | টেম্পোরারি স্টোরেজের জন্য ব্যবহৃত |
Exercism-এ সাইন আপ করুন, MIPS Assembly ট্র্যাকের 70টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।