প্রাচীন এক বনের ধারে ছোট্ট একটি গ্রামে বনের গভীরে পোঁতা এক গুপ্ত ধনের কিংবদন্তি ছিল। অসংখ্য চেষ্টা সত্ত্বেও কেউ কখনও সেটি খুঁজে পায়নি। তবে এলারা নামের এক তরুণ অভিযাত্রীর 덕분에 এবার সেটা বদলাতে চলেছে। সে একটি পুরোনো দলিল খুঁজে পেয়েছিল, যাতে ধনটি কোথায় আছে তা বের করার নির্দেশনা লেখা ছিল। সেই নির্দেশনা ব্যবহার করে এলারা একটি মানচিত্র আঁকতে পেরেছিল, যা ধনটির পথ দেখিয়ে দিল।
তার অবাক লাগল, পথটি ঘড়ির কাঁটার দিকে এক অদ্ভুত সর্পিল আকারে এগিয়েছে। কেউ আগে কেন ধনটি খুঁজে পায়নি, তা নিয়ে আর বিস্মিত হওয়ার কিছু নেই! মানচিত্র হাতে নিয়ে এলারা লুকোনো ধনটি খুঁজে বের করার যাত্রায় নামে।
আপনার কাজ হলো নির্দিষ্ট আকারের একটি বর্গ ম্যাট্রিক্স রিটার্ন করা।
ম্যাট্রিক্সটি স্বাভাবিক সংখ্যা দিয়ে পূরণ করতে হবে, যেখানে উপরের বাম কোণায় ১ থেকে শুরু হয়ে ভেতরের দিকে ঘড়ির কাঁটার দিকে সর্পিল ক্রমে সংখ্যা বাড়তে থাকবে, নিচের উদাহরণগুলোর মতো:
1 2 3
8 9 4
7 6 5
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
আউটপুটটি রো-মেজর অর্ডারে সাজানো উচিত: প্রথম সারির সব ওয়ার্ড, তারপর দ্বিতীয় সারির ওয়ার্ড, এভাবে চলতে থাকবে।
| Register | Usage | Type | Description |
|---|---|---|---|
$a0 |
ইনপুট | ইন্টিজার | আকার |
$a1 |
ইনপুট/আউটপুট | অ্যাড্রেস | রো-মেজর অর্ডারে সাজানো ওয়ার্ডের ম্যাট্রিক্স |
$v0 |
আউটপুট | ইন্টিজার | ম্যাট্রিক্সের ওয়ার্ডের সংখ্যা |
$t0-9 |
টেম্পোরারি | যেকোনো | সাময়িক সংরক্ষণের জন্য |
Exercism-এ সাইন আপ করুন, MIPS Assembly ট্র্যাকের 70টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।